diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..37416ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +.vscode +compensation.csv +compensation.json diff --git a/.soliumignore b/.soliumignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.soliumignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/.soliumrc.json b/.soliumrc.json new file mode 100644 index 0000000..5940b81 --- /dev/null +++ b/.soliumrc.json @@ -0,0 +1,23 @@ +{ + "extends": "solium:all", + "plugins": [ + "security" + ], + "rules": { + "quotes": [ + "error", + "double" + ], + "indentation": [ + "error", + 2 + ], + "arg-overflow": [ + "warning", + 3 + ], + "security/no-block-members": [ + "warning" + ] + } +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a3b3c51 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +.DEFAULT_GOAL := all + +CONTRACTS=BRDCrowdsaleAuthorizer BRDLockup BRDToken BRDCrowdsale +JSONS=build/%.json +SOLCOPTS=--combined-json abi,asm,ast,bin,bin-runtime,clone-bin,compact-format,devdoc,hashes,interface,metadata,opcodes,srcmap,srcmap-runtime,userdoc --pretty-json --optimize-runs 200 + +build/flattened/%.sol: + truffle-flattener contracts/$*.sol > $@ + +build/%.json: build/flattened/%.sol + solc $(SOLCOPTS) $^ > $@ + +clean: + -rm build/*.json + -rm build/flattened/*.sol + +all: $(patsubst %,$(JSONS), $(CONTRACTS)) diff --git a/README.md b/README.md new file mode 100644 index 0000000..ac92dc6 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# smart-contracts + +This is the repository for the Bread Token (BRD) Crowdsale and ERC20 smart contracts. + +### Getting started + +We use Truffle and OpenZeppelin for development. The main smart contracts (BRDToken and +BRDCrowdsale) are based on OpenZeppelin's MintableToken and Crowdsale base contracts. + +For development, we use ganache-cli using the default settings. + +To test, start ganache-cli and run `truffle test` diff --git a/build/BRDCrowdsale.json b/build/BRDCrowdsale.json new file mode 100644 index 0000000..995c28e --- /dev/null +++ b/build/BRDCrowdsale.json @@ -0,0 +1,135351 @@ +{ + "contracts" : { + "build/flattened/BRDCrowdsale.sol:BRDCrowdsale" : { + "abi" : "[{\"constant\":false,\"inputs\":[{\"name\":\"_newMaxContribution\",\"type\":\"uint256\"}],\"name\":\"setMaxContribution\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authorizer\",\"type\":\"address\"}],\"name\":\"setAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lockup\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_lockup\",\"type\":\"address\"}],\"name\":\"setLockup\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"endTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasStarted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newCap\",\"type\":\"uint256\"}],\"name\":\"setCap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bonusRate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ownerRate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"startTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"allocateTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"maxContribution\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFinalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minContribution\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenWallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newEndTime\",\"type\":\"uint256\"}],\"name\":\"setEndTime\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"authorizer\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lockupTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unlockTokens\",\"outputs\":[{\"name\":\"_didIssueRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_cap\",\"type\":\"uint256\"},{\"name\":\"_minWei\",\"type\":\"uint256\"},{\"name\":\"_maxWei\",\"type\":\"uint256\"},{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_endTime\",\"type\":\"uint256\"},{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_ownerRate\",\"type\":\"uint256\"},{\"name\":\"_bonusRate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"},{\"name\":\"_tokenWallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Finalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenPurchase\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "MSTORE" + }, + { + "begin" : 19893, + "end" : 19898, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "EXP" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SLOAD" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "MUL" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "NOT" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "AND" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP4" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "MUL" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "OR" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SSTORE" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "CALLVALUE" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ISZERO" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "JUMPI" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "REVERT" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "JUMPDEST" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "140" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSHSIZE" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP4" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "CODECOPY" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MSTORE" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "DUP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "MLOAD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "ADD" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP2" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "SWAP1" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21858, + "end" : 21868, + "name" : "DUP7" + }, + { + "begin" : 21870, + "end" : 21878, + "name" : "DUP7" + }, + { + "begin" : 21880, + "end" : 21885, + "name" : "DUP7" + }, + { + "begin" : 21887, + "end" : 21894, + "name" : "DUP5" + }, + { + "begin" : 17971, + "end" : 17974, + "name" : "TIMESTAMP" + }, + { + "begin" : 17957, + "end" : 17967, + "name" : "DUP5" + }, + { + "begin" : 17957, + "end" : 17974, + "name" : "LT" + }, + { + "begin" : 17957, + "end" : 17974, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "JUMPI" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "DUP1" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "REVERT" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "JUMPDEST" + }, + { + "begin" : 18001, + "end" : 18011, + "name" : "DUP4" + }, + { + "begin" : 17989, + "end" : 17997, + "name" : "DUP4" + }, + { + "begin" : 17989, + "end" : 18011, + "name" : "LT" + }, + { + "begin" : 17989, + "end" : 18011, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "JUMPI" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "DUP1" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "REVERT" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "JUMPDEST" + }, + { + "begin" : 18034, + "end" : 18035, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18026, + "end" : 18031, + "name" : "DUP3" + }, + { + "begin" : 18026, + "end" : 18035, + "name" : "GT" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "ISZERO" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "ISZERO" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "JUMPI" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "DUP1" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "REVERT" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "JUMPDEST" + }, + { + "begin" : 18069, + "end" : 18070, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "AND" + }, + { + "begin" : 18050, + "end" : 18057, + "name" : "DUP2" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "AND" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "EQ" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "JUMPI" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "DUP1" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "REVERT" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "JUMPDEST" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH", + "value" : "100000000" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "MUL" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH [tag]", + "value" : "18446744073709551886" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "OR" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "PUSH", + "value" : "100000000" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "DIV" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "JUMPDEST" + }, + { + "begin" : 18079, + "end" : 18084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18079, + "end" : 18084, + "name" : "DUP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "EXP" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP2" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SLOAD" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP2" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "MUL" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "NOT" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "AND" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP4" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "AND" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "MUL" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "OR" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SSTORE" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "POP" + }, + { + "begin" : 18126, + "end" : 18136, + "name" : "DUP4" + }, + { + "begin" : 18114, + "end" : 18123, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "DUP2" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "SWAP1" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "SSTORE" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "POP" + }, + { + "begin" : 18152, + "end" : 18160, + "name" : "DUP3" + }, + { + "begin" : 18142, + "end" : 18149, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "DUP2" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "SWAP1" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "SSTORE" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "POP" + }, + { + "begin" : 18173, + "end" : 18178, + "name" : "DUP2" + }, + { + "begin" : 18166, + "end" : 18170, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "DUP2" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "SWAP1" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "SSTORE" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "POP" + }, + { + "begin" : 18193, + "end" : 18200, + "name" : "DUP1" + }, + { + "begin" : 18184, + "end" : 18190, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 18184, + "end" : 18190, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "EXP" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP2" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SLOAD" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP2" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "MUL" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "NOT" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "AND" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SWAP1" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP4" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "AND" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "MUL" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "OR" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SWAP1" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SSTORE" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 21929, + "end" : 21930, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21922, + "end" : 21926, + "name" : "DUP11" + }, + { + "begin" : 21922, + "end" : 21930, + "name" : "GT" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "ISZERO" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "ISZERO" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "JUMPI" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "DUP1" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "REVERT" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 21914, + "end" : 21931, + "name" : "JUMPDEST" + }, + { + "begin" : 21961, + "end" : 21964, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21945, + "end" : 21957, + "name" : "DUP2" + }, + { + "begin" : 21945, + "end" : 21964, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21945, + "end" : 21964, + "name" : "AND" + }, + { + "begin" : 21945, + "end" : 21964, + "name" : "EQ" + }, + { + "begin" : 21945, + "end" : 21964, + "name" : "ISZERO" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "ISZERO" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "ISZERO" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "JUMPI" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "DUP1" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "REVERT" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 21937, + "end" : 21965, + "name" : "JUMPDEST" + }, + { + "begin" : 21977, + "end" : 21981, + "name" : "DUP10" + }, + { + "begin" : 21971, + "end" : 21974, + "name" : "PUSH", + "value" : "7" + }, + { + "begin" : 21971, + "end" : 21981, + "name" : "DUP2" + }, + { + "begin" : 21971, + "end" : 21981, + "name" : "SWAP1" + }, + { + "begin" : 21971, + "end" : 21981, + "name" : "SSTORE" + }, + { + "begin" : 21971, + "end" : 21981, + "name" : "POP" + }, + { + "begin" : 22005, + "end" : 22012, + "name" : "DUP9" + }, + { + "begin" : 21987, + "end" : 22002, + "name" : "PUSH", + "value" : "8" + }, + { + "begin" : 21987, + "end" : 22012, + "name" : "DUP2" + }, + { + "begin" : 21987, + "end" : 22012, + "name" : "SWAP1" + }, + { + "begin" : 21987, + "end" : 22012, + "name" : "SSTORE" + }, + { + "begin" : 21987, + "end" : 22012, + "name" : "POP" + }, + { + "begin" : 22036, + "end" : 22043, + "name" : "DUP8" + }, + { + "begin" : 22018, + "end" : 22033, + "name" : "PUSH", + "value" : "9" + }, + { + "begin" : 22018, + "end" : 22043, + "name" : "DUP2" + }, + { + "begin" : 22018, + "end" : 22043, + "name" : "SWAP1" + }, + { + "begin" : 22018, + "end" : 22043, + "name" : "SSTORE" + }, + { + "begin" : 22018, + "end" : 22043, + "name" : "POP" + }, + { + "begin" : 22061, + "end" : 22071, + "name" : "DUP4" + }, + { + "begin" : 22049, + "end" : 22058, + "name" : "PUSH", + "value" : "A" + }, + { + "begin" : 22049, + "end" : 22071, + "name" : "DUP2" + }, + { + "begin" : 22049, + "end" : 22071, + "name" : "SWAP1" + }, + { + "begin" : 22049, + "end" : 22071, + "name" : "SSTORE" + }, + { + "begin" : 22049, + "end" : 22071, + "name" : "POP" + }, + { + "begin" : 22089, + "end" : 22099, + "name" : "DUP3" + }, + { + "begin" : 22077, + "end" : 22086, + "name" : "PUSH", + "value" : "B" + }, + { + "begin" : 22077, + "end" : 22099, + "name" : "DUP2" + }, + { + "begin" : 22077, + "end" : 22099, + "name" : "SWAP1" + }, + { + "begin" : 22077, + "end" : 22099, + "name" : "SSTORE" + }, + { + "begin" : 22077, + "end" : 22099, + "name" : "POP" + }, + { + "begin" : 22119, + "end" : 22131, + "name" : "DUP1" + }, + { + "begin" : 22105, + "end" : 22116, + "name" : "PUSH", + "value" : "C" + }, + { + "begin" : 22105, + "end" : 22116, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "EXP" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "DUP2" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "SLOAD" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "DUP2" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "MUL" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "NOT" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "AND" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "SWAP1" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "DUP4" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "AND" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "MUL" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "OR" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "SWAP1" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "SSTORE" + }, + { + "begin" : 22105, + "end" : 22131, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 21305, + "end" : 22136, + "name" : "POP" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMP" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "JUMPDEST" + }, + { + "begin" : 26767, + "end" : 26780, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26912, + "end" : 26913, + "name" : "DUP1" + }, + { + "begin" : 26888, + "end" : 26915, + "name" : "SWAP1" + }, + { + "begin" : 26888, + "end" : 26915, + "name" : "POP" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "SWAP1" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPDEST" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "CODECOPY" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820b99ea6d158eae41ae59e8dd5e4bd84e86fc835f65e55ddf1524578dcf6b6c9b50029", + ".code" : [ + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "MSTORE" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "CALLDATASIZE" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "LT" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "CALLDATALOAD" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "SWAP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DIV" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "AND" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "3ED9D21" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "58A628F" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "6490F47" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "B745A01" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "144FA6D7" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "2C4E722E" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "3197CBB6" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "355274EA" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "4042B66F" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "44691F7E" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "47786D37" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "4BB278F3" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "521EB273" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "5AF123F4" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "688CDBA8" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "78E97925" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "86CE0285" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "8D3D6576" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "8D4E4083" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "AAFFADF3" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "BFF99C6C" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "CCB98FFC" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "D09EDF31" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "EB3A88DC" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "EC8AC4D8" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "ECB70FB7" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "F968F493" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "DUP1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH", + "value" : "FC0C546A" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "EQ" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPI" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "JUMPDEST" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 18518, + "end" : 18528, + "name" : "CALLER" + }, + { + "begin" : 18508, + "end" : 18517, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "JUMPDEST" + }, + { + "begin" : 20501, + "end" : 27969, + "name" : "STOP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMPDEST" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "CALLVALUE" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "ISZERO" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMPI" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "DUP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "REVERT" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMPDEST" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "DUP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "DUP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "CALLDATALOAD" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "SWAP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "ADD" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "SWAP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "SWAP2" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "SWAP1" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "POP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "POP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMPDEST" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "STOP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMPDEST" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "CALLVALUE" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "ISZERO" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMPI" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "DUP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "REVERT" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMPDEST" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "DUP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "DUP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "CALLDATALOAD" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "AND" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "SWAP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "ADD" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "SWAP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "SWAP2" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "SWAP1" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "POP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "POP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMPDEST" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "STOP" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMPDEST" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "CALLVALUE" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "ISZERO" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMPI" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "REVERT" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMPDEST" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMP" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMPDEST" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "MLOAD" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP3" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "AND" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "AND" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP2" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "MSTORE" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "ADD" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP2" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "POP" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "POP" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "MLOAD" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP2" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SUB" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "RETURN" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMPDEST" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "CALLVALUE" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "ISZERO" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMPI" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "DUP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "REVERT" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMPDEST" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "DUP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "DUP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "CALLDATALOAD" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "AND" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "SWAP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "ADD" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "SWAP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "SWAP2" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "SWAP1" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "POP" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "POP" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMP" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMPDEST" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "STOP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMPDEST" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "CALLVALUE" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "ISZERO" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMPI" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "DUP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "REVERT" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMPDEST" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "DUP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "DUP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "CALLDATALOAD" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "AND" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "SWAP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "ADD" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "SWAP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "SWAP2" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "SWAP1" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "POP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "POP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMPDEST" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "STOP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "CALLVALUE" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "ISZERO" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPI" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "REVERT" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP3" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MSTORE" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "ADD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "POP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "POP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SUB" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "RETURN" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "CALLVALUE" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "ISZERO" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPI" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "REVERT" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP3" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MSTORE" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "ADD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "POP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "POP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SUB" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "RETURN" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMPDEST" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "CALLVALUE" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "ISZERO" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMPI" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP1" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "REVERT" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMPDEST" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMP" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMPDEST" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "MLOAD" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP1" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP3" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP2" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "MSTORE" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "ADD" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "SWAP2" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "POP" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "POP" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "MLOAD" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP1" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "SWAP2" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "SUB" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "SWAP1" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "RETURN" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "CALLVALUE" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "ISZERO" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPI" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "REVERT" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP3" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MSTORE" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "ADD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "POP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "POP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SUB" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "RETURN" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMPDEST" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "CALLVALUE" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ISZERO" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMPI" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "DUP1" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "REVERT" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMPDEST" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMP" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "tag", + "value" : "64" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMPDEST" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "MLOAD" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "DUP1" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "DUP3" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ISZERO" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ISZERO" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ISZERO" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ISZERO" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "DUP2" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "MSTORE" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "ADD" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "SWAP2" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "POP" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "POP" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "MLOAD" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "DUP1" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "SWAP2" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "SUB" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "SWAP1" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "RETURN" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMPDEST" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "CALLVALUE" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "ISZERO" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMPI" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "DUP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "REVERT" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "tag", + "value" : "66" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMPDEST" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "DUP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "DUP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "CALLDATALOAD" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "SWAP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "ADD" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "SWAP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "SWAP2" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "SWAP1" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "POP" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "POP" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "PUSH [tag]", + "value" : "68" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMP" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMPDEST" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "STOP" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMPDEST" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "CALLVALUE" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "ISZERO" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMPI" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "DUP1" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "REVERT" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMPDEST" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "PUSH [tag]", + "value" : "71" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMP" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMPDEST" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "STOP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "CALLVALUE" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "ISZERO" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPI" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "REVERT" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP3" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MSTORE" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "ADD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "POP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "POP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SUB" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "RETURN" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMPDEST" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "CALLVALUE" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "ISZERO" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH [tag]", + "value" : "75" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMPI" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP1" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "REVERT" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "tag", + "value" : "75" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMPDEST" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH [tag]", + "value" : "76" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH [tag]", + "value" : "77" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMP" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "tag", + "value" : "76" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMPDEST" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "MLOAD" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP1" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP3" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP2" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "MSTORE" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "ADD" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "SWAP2" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "POP" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "POP" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "MLOAD" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP1" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "SWAP2" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "SUB" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "SWAP1" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "RETURN" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMPDEST" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "CALLVALUE" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "ISZERO" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH [tag]", + "value" : "78" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMPI" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP1" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "REVERT" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "tag", + "value" : "78" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMPDEST" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH [tag]", + "value" : "80" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMP" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMPDEST" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "MLOAD" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP1" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP3" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP2" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "MSTORE" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "ADD" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "SWAP2" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "POP" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "POP" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "MLOAD" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP1" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "SWAP2" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "SUB" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "SWAP1" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "RETURN" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "CALLVALUE" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "ISZERO" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "81" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPI" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "REVERT" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "81" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP3" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MSTORE" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "ADD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "POP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "POP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SUB" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "RETURN" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMPDEST" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "CALLVALUE" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "ISZERO" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMPI" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "DUP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "REVERT" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMPDEST" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH [tag]", + "value" : "85" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "DUP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "DUP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "CALLDATALOAD" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "AND" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "ADD" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP2" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "DUP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "CALLDATALOAD" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "ADD" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP2" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "SWAP1" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "PUSH [tag]", + "value" : "86" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "tag", + "value" : "85" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMPDEST" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "STOP" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMPDEST" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "CALLVALUE" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "ISZERO" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH [tag]", + "value" : "87" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMPI" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP1" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "REVERT" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "tag", + "value" : "87" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMPDEST" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH [tag]", + "value" : "88" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMP" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "tag", + "value" : "88" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMPDEST" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "MLOAD" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP1" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP3" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP2" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "MSTORE" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "ADD" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "SWAP2" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "POP" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "POP" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "MLOAD" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP1" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "SWAP2" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "SUB" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "SWAP1" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "RETURN" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMPDEST" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "CALLVALUE" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMPI" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "REVERT" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMPDEST" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH [tag]", + "value" : "91" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMP" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "tag", + "value" : "91" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMPDEST" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "MLOAD" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP3" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ISZERO" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "MSTORE" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "ADD" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "POP" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "POP" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "MLOAD" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SUB" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "93" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "93" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMPDEST" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "CALLVALUE" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "ISZERO" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMPI" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP1" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "REVERT" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMPDEST" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH [tag]", + "value" : "97" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH [tag]", + "value" : "98" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMP" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "tag", + "value" : "97" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMPDEST" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "MLOAD" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP1" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP3" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP2" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "MSTORE" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "ADD" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "SWAP2" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "POP" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "POP" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "MLOAD" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP1" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "SWAP2" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "SUB" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "SWAP1" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "RETURN" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMPDEST" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "CALLVALUE" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "ISZERO" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH [tag]", + "value" : "99" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMPI" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "REVERT" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "tag", + "value" : "99" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMPDEST" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH [tag]", + "value" : "100" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH [tag]", + "value" : "101" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMP" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "tag", + "value" : "100" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMPDEST" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "MLOAD" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP3" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "AND" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "AND" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP2" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "MSTORE" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "ADD" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP2" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "POP" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "POP" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "MLOAD" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP2" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SUB" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "RETURN" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMPDEST" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "CALLVALUE" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "ISZERO" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMPI" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "DUP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "REVERT" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "tag", + "value" : "102" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMPDEST" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH [tag]", + "value" : "103" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "DUP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "DUP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "CALLDATALOAD" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "SWAP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "ADD" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "SWAP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "SWAP2" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "SWAP1" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "POP" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "POP" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "PUSH [tag]", + "value" : "104" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMP" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "tag", + "value" : "103" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMPDEST" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "STOP" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMPDEST" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "CALLVALUE" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "ISZERO" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH [tag]", + "value" : "105" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMPI" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "REVERT" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "tag", + "value" : "105" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMPDEST" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH [tag]", + "value" : "106" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH [tag]", + "value" : "107" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMP" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "tag", + "value" : "106" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMPDEST" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "MLOAD" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP3" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "AND" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "AND" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP2" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "MSTORE" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "ADD" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP2" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "POP" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "POP" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "MLOAD" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP2" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SUB" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "RETURN" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMPDEST" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "CALLVALUE" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "ISZERO" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH [tag]", + "value" : "108" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMPI" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "DUP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "REVERT" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "tag", + "value" : "108" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMPDEST" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH [tag]", + "value" : "109" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "DUP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "DUP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "CALLDATALOAD" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "AND" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "ADD" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP2" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "DUP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "CALLDATALOAD" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "ADD" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP2" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "SWAP1" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "PUSH [tag]", + "value" : "110" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "tag", + "value" : "109" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMPDEST" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "STOP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "JUMPDEST" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "PUSH [tag]", + "value" : "111" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "DUP1" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "DUP1" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "CALLDATALOAD" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "AND" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "SWAP1" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "ADD" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "SWAP1" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "SWAP2" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "SWAP1" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "POP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "POP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "JUMP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "tag", + "value" : "111" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "JUMPDEST" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "STOP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMPDEST" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "CALLVALUE" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ISZERO" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH [tag]", + "value" : "112" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMPI" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "DUP1" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "REVERT" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "tag", + "value" : "112" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMPDEST" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH [tag]", + "value" : "113" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "tag", + "value" : "113" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMPDEST" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "MLOAD" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "DUP1" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "DUP3" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ISZERO" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ISZERO" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ISZERO" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ISZERO" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "DUP2" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "MSTORE" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "ADD" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "SWAP2" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "POP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "POP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "MLOAD" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "DUP1" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "SWAP2" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "SUB" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "SWAP1" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "115" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "115" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "116" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "117" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "116" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMPDEST" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "CALLVALUE" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ISZERO" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH [tag]", + "value" : "118" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMPI" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "DUP1" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "REVERT" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "tag", + "value" : "118" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMPDEST" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH [tag]", + "value" : "119" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "tag", + "value" : "119" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMPDEST" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "MLOAD" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "DUP1" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "DUP3" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ISZERO" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ISZERO" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ISZERO" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ISZERO" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "DUP2" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "MSTORE" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "ADD" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "SWAP2" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "MLOAD" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "DUP1" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "SWAP2" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "SUB" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "SWAP1" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "RETURN" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "CALLVALUE" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "ISZERO" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "121" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPI" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "REVERT" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "121" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "122" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "123" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "122" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP3" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MSTORE" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "ADD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "POP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "POP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SUB" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "RETURN" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "JUMPDEST" + }, + { + "begin" : 22836, + "end" : 22856, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22758, + "end" : 22787, + "name" : "PUSH [tag]", + "value" : "125" + }, + { + "begin" : 22774, + "end" : 22786, + "name" : "DUP3" + }, + { + "begin" : 22758, + "end" : 22773, + "name" : "PUSH [tag]", + "value" : "126" + }, + { + "begin" : 22758, + "end" : 22787, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 22758, + "end" : 22787, + "name" : "tag", + "value" : "125" + }, + { + "begin" : 22758, + "end" : 22787, + "name" : "JUMPDEST" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "PUSH [tag]", + "value" : "127" + }, + { + "begin" : 22873, + "end" : 22882, + "name" : "PUSH", + "value" : "A" + }, + { + "begin" : 22873, + "end" : 22882, + "name" : "SLOAD" + }, + { + "begin" : 22859, + "end" : 22868, + "name" : "CALLVALUE" + }, + { + "begin" : 22859, + "end" : 22872, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 22859, + "end" : 22872, + "name" : "SWAP1" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "SWAP2" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "SWAP1" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "AND" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "tag", + "value" : "127" + }, + { + "begin" : 22859, + "end" : 22883, + "name" : "JUMPDEST" + }, + { + "begin" : 22836, + "end" : 22883, + "name" : "SWAP1" + }, + { + "begin" : 22836, + "end" : 22883, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "SWAP1" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "SLOAD" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "SWAP1" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "EXP" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "SWAP1" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "DIV" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22951, + "end" : 22956, + "name" : "AND" + }, + { + "begin" : 22951, + "end" : 22961, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22951, + "end" : 22961, + "name" : "AND" + }, + { + "begin" : 22951, + "end" : 22961, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "PUSH", + "value" : "C" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "SWAP1" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "SLOAD" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "SWAP1" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "EXP" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "SWAP1" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "DIV" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22962, + "end" : 22973, + "name" : "AND" + }, + { + "begin" : 22975, + "end" : 22987, + "name" : "DUP4" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MLOAD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ADD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MSTORE" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MLOAD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP4" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "AND" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MUL" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP2" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MSTORE" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ADD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP4" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "AND" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "AND" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP2" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MSTORE" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ADD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP3" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP2" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MSTORE" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ADD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "SWAP3" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MLOAD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP4" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "SUB" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP2" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP8" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "EXTCODESIZE" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ISZERO" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ISZERO" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH [tag]", + "value" : "129" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "JUMPI" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "REVERT" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "tag", + "value" : "129" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "JUMPDEST" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "GAS" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "SUB" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "CALL" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ISZERO" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "ISZERO" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH [tag]", + "value" : "130" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "JUMPI" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "REVERT" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "tag", + "value" : "130" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "JUMPDEST" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MLOAD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "DUP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "MLOAD" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "SWAP1" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22951, + "end" : 22988, + "name" : "POP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "POP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "POP" + }, + { + "begin" : 22632, + "end" : 22993, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "132" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "132" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 26515, + "end" : 26534, + "name" : "DUP1" + }, + { + "begin" : 26497, + "end" : 26512, + "name" : "PUSH", + "value" : "9" + }, + { + "begin" : 26497, + "end" : 26534, + "name" : "DUP2" + }, + { + "begin" : 26497, + "end" : 26534, + "name" : "SWAP1" + }, + { + "begin" : 26497, + "end" : 26534, + "name" : "SSTORE" + }, + { + "begin" : 26497, + "end" : 26534, + "name" : "POP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "POP" + }, + { + "begin" : 26417, + "end" : 26539, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "135" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "135" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 25779, + "end" : 25791, + "name" : "PUSH [tag]", + "value" : "137" + }, + { + "begin" : 25779, + "end" : 25789, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 25779, + "end" : 25791, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 25779, + "end" : 25791, + "name" : "tag", + "value" : "137" + }, + { + "begin" : 25779, + "end" : 25791, + "name" : "JUMPDEST" + }, + { + "begin" : 25778, + "end" : 25791, + "name" : "ISZERO" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "ISZERO" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "ISZERO" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "PUSH [tag]", + "value" : "138" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "JUMPI" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "DUP1" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "REVERT" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "tag", + "value" : "138" + }, + { + "begin" : 25770, + "end" : 25792, + "name" : "JUMPDEST" + }, + { + "begin" : 25811, + "end" : 25822, + "name" : "DUP1" + }, + { + "begin" : 25798, + "end" : 25808, + "name" : "PUSH", + "value" : "D" + }, + { + "begin" : 25798, + "end" : 25808, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "EXP" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "DUP2" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "SLOAD" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "DUP2" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "MUL" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "NOT" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "AND" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "SWAP1" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "DUP4" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "AND" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "MUL" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "OR" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "SWAP1" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "SSTORE" + }, + { + "begin" : 25798, + "end" : 25822, + "name" : "POP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "POP" + }, + { + "begin" : 25688, + "end" : 25827, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMPDEST" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SLOAD" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "EXP" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "SWAP1" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DIV" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "AND" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "DUP2" + }, + { + "begin" : 21260, + "end" : 21283, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "140" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "140" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 25963, + "end" : 25975, + "name" : "PUSH [tag]", + "value" : "142" + }, + { + "begin" : 25963, + "end" : 25973, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 25963, + "end" : 25975, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 25963, + "end" : 25975, + "name" : "tag", + "value" : "142" + }, + { + "begin" : 25963, + "end" : 25975, + "name" : "JUMPDEST" + }, + { + "begin" : 25962, + "end" : 25975, + "name" : "ISZERO" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "ISZERO" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "ISZERO" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "PUSH [tag]", + "value" : "143" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "JUMPI" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "DUP1" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "REVERT" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "tag", + "value" : "143" + }, + { + "begin" : 25954, + "end" : 25976, + "name" : "JUMPDEST" + }, + { + "begin" : 25991, + "end" : 25998, + "name" : "DUP1" + }, + { + "begin" : 25982, + "end" : 25988, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 25982, + "end" : 25988, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "EXP" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "DUP2" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "SLOAD" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "DUP2" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "MUL" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "NOT" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "AND" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "SWAP1" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "DUP4" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "AND" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "MUL" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "OR" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "SWAP1" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "SSTORE" + }, + { + "begin" : 25982, + "end" : 25998, + "name" : "POP" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "POP" + }, + { + "begin" : 25893, + "end" : 26003, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "145" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "145" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 26135, + "end" : 26147, + "name" : "PUSH [tag]", + "value" : "147" + }, + { + "begin" : 26135, + "end" : 26145, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 26135, + "end" : 26147, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 26135, + "end" : 26147, + "name" : "tag", + "value" : "147" + }, + { + "begin" : 26135, + "end" : 26147, + "name" : "JUMPDEST" + }, + { + "begin" : 26134, + "end" : 26147, + "name" : "ISZERO" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "ISZERO" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "ISZERO" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "PUSH [tag]", + "value" : "148" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "JUMPI" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "DUP1" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "REVERT" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "tag", + "value" : "148" + }, + { + "begin" : 26126, + "end" : 26148, + "name" : "JUMPDEST" + }, + { + "begin" : 26162, + "end" : 26168, + "name" : "DUP1" + }, + { + "begin" : 26154, + "end" : 26159, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26154, + "end" : 26159, + "name" : "DUP1" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "EXP" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "DUP2" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "SLOAD" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "DUP2" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "MUL" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "NOT" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "AND" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "SWAP1" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "DUP4" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "AND" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "MUL" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "OR" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "SWAP1" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "SSTORE" + }, + { + "begin" : 26154, + "end" : 26168, + "name" : "POP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "POP" + }, + { + "begin" : 26068, + "end" : 26173, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMPDEST" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "PUSH", + "value" : "7" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "SLOAD" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "DUP2" + }, + { + "begin" : 20638, + "end" : 20656, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMPDEST" + }, + { + "begin" : 22478, + "end" : 22482, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22503, + "end" : 22512, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 22503, + "end" : 22512, + "name" : "SLOAD" + }, + { + "begin" : 22497, + "end" : 22500, + "name" : "TIMESTAMP" + }, + { + "begin" : 22497, + "end" : 22512, + "name" : "GT" + }, + { + "begin" : 22490, + "end" : 22512, + "name" : "SWAP1" + }, + { + "begin" : 22490, + "end" : 22512, + "name" : "POP" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "SWAP1" + }, + { + "begin" : 22431, + "end" : 22517, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "tag", + "value" : "68" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "151" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "151" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 26316, + "end" : 26317, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26306, + "end" : 26313, + "name" : "DUP2" + }, + { + "begin" : 26306, + "end" : 26317, + "name" : "GT" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "ISZERO" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "ISZERO" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "PUSH [tag]", + "value" : "153" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "JUMPI" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "DUP1" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "REVERT" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "tag", + "value" : "153" + }, + { + "begin" : 26298, + "end" : 26318, + "name" : "JUMPDEST" + }, + { + "begin" : 26333, + "end" : 26345, + "name" : "PUSH [tag]", + "value" : "154" + }, + { + "begin" : 26333, + "end" : 26343, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 26333, + "end" : 26345, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 26333, + "end" : 26345, + "name" : "tag", + "value" : "154" + }, + { + "begin" : 26333, + "end" : 26345, + "name" : "JUMPDEST" + }, + { + "begin" : 26332, + "end" : 26345, + "name" : "ISZERO" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "ISZERO" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "ISZERO" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "PUSH [tag]", + "value" : "155" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "JUMPI" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "DUP1" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "REVERT" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "tag", + "value" : "155" + }, + { + "begin" : 26324, + "end" : 26346, + "name" : "JUMPDEST" + }, + { + "begin" : 26358, + "end" : 26365, + "name" : "DUP1" + }, + { + "begin" : 26352, + "end" : 26355, + "name" : "PUSH", + "value" : "7" + }, + { + "begin" : 26352, + "end" : 26365, + "name" : "DUP2" + }, + { + "begin" : 26352, + "end" : 26365, + "name" : "SWAP1" + }, + { + "begin" : 26352, + "end" : 26365, + "name" : "SSTORE" + }, + { + "begin" : 26352, + "end" : 26365, + "name" : "POP" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "POP" + }, + { + "begin" : 26242, + "end" : 26370, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "tag", + "value" : "71" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "157" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "157" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "SWAP1" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "SLOAD" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "SWAP1" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "EXP" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "SWAP1" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "DIV" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 20121, + "end" : 20132, + "name" : "AND" + }, + { + "begin" : 20120, + "end" : 20132, + "name" : "ISZERO" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "ISZERO" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "ISZERO" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "PUSH [tag]", + "value" : "159" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "JUMPI" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "DUP1" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "REVERT" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "tag", + "value" : "159" + }, + { + "begin" : 20112, + "end" : 20133, + "name" : "JUMPDEST" + }, + { + "begin" : 20147, + "end" : 20157, + "name" : "PUSH [tag]", + "value" : "160" + }, + { + "begin" : 20147, + "end" : 20155, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 20147, + "end" : 20157, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 20147, + "end" : 20157, + "name" : "tag", + "value" : "160" + }, + { + "begin" : 20147, + "end" : 20157, + "name" : "JUMPDEST" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "ISZERO" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "ISZERO" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "PUSH [tag]", + "value" : "161" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "JUMPI" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "DUP1" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "REVERT" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "tag", + "value" : "161" + }, + { + "begin" : 20139, + "end" : 20158, + "name" : "JUMPDEST" + }, + { + "begin" : 20165, + "end" : 20179, + "name" : "PUSH [tag]", + "value" : "162" + }, + { + "begin" : 20165, + "end" : 20177, + "name" : "PUSH [tag]", + "value" : "163" + }, + { + "begin" : 20165, + "end" : 20179, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 20165, + "end" : 20179, + "name" : "tag", + "value" : "162" + }, + { + "begin" : 20165, + "end" : 20179, + "name" : "JUMPDEST" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "PUSH", + "value" : "6823B073D48D6E3A7D385EEB601452D680E74BB46AFE3255A7D778F3A9B17681" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "MLOAD" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "MLOAD" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "DUP1" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "SWAP2" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "SUB" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "SWAP1" + }, + { + "begin" : 20185, + "end" : 20196, + "name" : "LOG1" + }, + { + "begin" : 20217, + "end" : 20221, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 20203, + "end" : 20214, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 20203, + "end" : 20214, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "EXP" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "DUP2" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "SLOAD" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "DUP2" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "MUL" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "NOT" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "AND" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "SWAP1" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "DUP4" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "ISZERO" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "ISZERO" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "MUL" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "OR" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "SWAP1" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "SSTORE" + }, + { + "begin" : 20203, + "end" : 20221, + "name" : "POP" + }, + { + "begin" : 20069, + "end" : 20226, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "EXP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DIV" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "tag", + "value" : "77" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMPDEST" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "PUSH", + "value" : "B" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "SLOAD" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "DUP2" + }, + { + "begin" : 20967, + "end" : 20991, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "tag", + "value" : "80" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMPDEST" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "PUSH", + "value" : "A" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "SLOAD" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "DUP2" + }, + { + "begin" : 20879, + "end" : 20903, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "tag", + "value" : "86" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMPDEST" + }, + { + "begin" : 23228, + "end" : 23246, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23434, + "end" : 23454, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "165" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "165" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "SWAP1" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "SLOAD" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "SWAP1" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "EXP" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "SWAP1" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "DIV" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 23189, + "end" : 23200, + "name" : "AND" + }, + { + "begin" : 23188, + "end" : 23200, + "name" : "ISZERO" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "ISZERO" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "ISZERO" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "PUSH [tag]", + "value" : "167" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "JUMPI" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "DUP1" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "REVERT" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "tag", + "value" : "167" + }, + { + "begin" : 23180, + "end" : 23201, + "name" : "JUMPDEST" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "PUSH [tag]", + "value" : "168" + }, + { + "begin" : 23261, + "end" : 23265, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 23261, + "end" : 23265, + "name" : "SLOAD" + }, + { + "begin" : 23249, + "end" : 23256, + "name" : "DUP5" + }, + { + "begin" : 23249, + "end" : 23260, + "name" : "PUSH [tag]", + "value" : "169" + }, + { + "begin" : 23249, + "end" : 23260, + "name" : "SWAP1" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "SWAP2" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "SWAP1" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "AND" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "tag", + "value" : "168" + }, + { + "begin" : 23249, + "end" : 23266, + "name" : "JUMPDEST" + }, + { + "begin" : 23228, + "end" : 23266, + "name" : "SWAP2" + }, + { + "begin" : 23228, + "end" : 23266, + "name" : "POP" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "PUSH [tag]", + "value" : "170" + }, + { + "begin" : 23298, + "end" : 23308, + "name" : "DUP3" + }, + { + "begin" : 23284, + "end" : 23293, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 23284, + "end" : 23293, + "name" : "SLOAD" + }, + { + "begin" : 23284, + "end" : 23297, + "name" : "PUSH [tag]", + "value" : "171" + }, + { + "begin" : 23284, + "end" : 23297, + "name" : "SWAP1" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "SWAP2" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "SWAP1" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "AND" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "tag", + "value" : "170" + }, + { + "begin" : 23284, + "end" : 23309, + "name" : "JUMPDEST" + }, + { + "begin" : 23272, + "end" : 23281, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 23272, + "end" : 23309, + "name" : "DUP2" + }, + { + "begin" : 23272, + "end" : 23309, + "name" : "SWAP1" + }, + { + "begin" : 23272, + "end" : 23309, + "name" : "SSTORE" + }, + { + "begin" : 23272, + "end" : 23309, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "SWAP1" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "SLOAD" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "SWAP1" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "EXP" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "SWAP1" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "DIV" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23358, + "end" : 23363, + "name" : "AND" + }, + { + "begin" : 23358, + "end" : 23368, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23358, + "end" : 23368, + "name" : "AND" + }, + { + "begin" : 23358, + "end" : 23368, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 23369, + "end" : 23381, + "name" : "DUP6" + }, + { + "begin" : 23383, + "end" : 23390, + "name" : "DUP6" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MLOAD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ADD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MSTORE" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MLOAD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP4" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "AND" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MUL" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP2" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MSTORE" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ADD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP4" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "AND" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "AND" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP2" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MSTORE" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ADD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP3" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP2" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MSTORE" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ADD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "SWAP3" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MLOAD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP4" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "SUB" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP2" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP8" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "EXTCODESIZE" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ISZERO" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ISZERO" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH [tag]", + "value" : "172" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "JUMPI" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "REVERT" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "tag", + "value" : "172" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "JUMPDEST" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "GAS" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "SUB" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "CALL" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ISZERO" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "ISZERO" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH [tag]", + "value" : "173" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "JUMPI" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "REVERT" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "tag", + "value" : "173" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "JUMPDEST" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MLOAD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "DUP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "MLOAD" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "SWAP1" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23358, + "end" : 23391, + "name" : "POP" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "PUSH [tag]", + "value" : "174" + }, + { + "begin" : 23472, + "end" : 23481, + "name" : "PUSH", + "value" : "A" + }, + { + "begin" : 23472, + "end" : 23481, + "name" : "SLOAD" + }, + { + "begin" : 23457, + "end" : 23467, + "name" : "DUP4" + }, + { + "begin" : 23457, + "end" : 23471, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 23457, + "end" : 23471, + "name" : "SWAP1" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "SWAP2" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "SWAP1" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "AND" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "tag", + "value" : "174" + }, + { + "begin" : 23457, + "end" : 23482, + "name" : "JUMPDEST" + }, + { + "begin" : 23434, + "end" : 23482, + "name" : "SWAP1" + }, + { + "begin" : 23434, + "end" : 23482, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "SWAP1" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "SLOAD" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "SWAP1" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "EXP" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "SWAP1" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "DIV" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23488, + "end" : 23493, + "name" : "AND" + }, + { + "begin" : 23488, + "end" : 23498, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23488, + "end" : 23498, + "name" : "AND" + }, + { + "begin" : 23488, + "end" : 23498, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "PUSH", + "value" : "C" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "SWAP1" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "SLOAD" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "SWAP1" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "EXP" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "SWAP1" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "DIV" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23499, + "end" : 23510, + "name" : "AND" + }, + { + "begin" : 23512, + "end" : 23524, + "name" : "DUP4" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MLOAD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ADD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MSTORE" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MLOAD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP4" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "AND" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MUL" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP2" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MSTORE" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ADD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP4" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "AND" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "AND" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP2" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MSTORE" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ADD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP3" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP2" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MSTORE" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ADD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "SWAP3" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MLOAD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP4" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "SUB" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP2" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP8" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "EXTCODESIZE" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ISZERO" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ISZERO" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH [tag]", + "value" : "175" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "JUMPI" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "REVERT" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "tag", + "value" : "175" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "JUMPDEST" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "GAS" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "SUB" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "CALL" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ISZERO" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "ISZERO" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH [tag]", + "value" : "176" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "JUMPI" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "REVERT" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "tag", + "value" : "176" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "JUMPDEST" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MLOAD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "DUP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "MLOAD" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "SWAP1" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23488, + "end" : 23525, + "name" : "POP" + }, + { + "begin" : 23562, + "end" : 23574, + "name" : "DUP4" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "AND" + }, + { + "begin" : 23550, + "end" : 23560, + "name" : "CALLER" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "AND" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18" + }, + { + "begin" : 23576, + "end" : 23586, + "name" : "DUP5" + }, + { + "begin" : 23588, + "end" : 23595, + "name" : "DUP7" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "MLOAD" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP1" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP4" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP2" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "MSTORE" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "ADD" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP3" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP2" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "MSTORE" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "ADD" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "SWAP3" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "POP" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "POP" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "POP" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "MLOAD" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "DUP1" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "SWAP2" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "SUB" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "SWAP1" + }, + { + "begin" : 23536, + "end" : 23596, + "name" : "LOG3" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "POP" + }, + { + "begin" : 23094, + "end" : 23601, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "tag", + "value" : "89" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMPDEST" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "PUSH", + "value" : "9" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "SLOAD" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "DUP2" + }, + { + "begin" : 20788, + "end" : 20818, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMPDEST" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SLOAD" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "EXP" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "SWAP1" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DIV" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "AND" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "DUP2" + }, + { + "begin" : 19867, + "end" : 19898, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "95" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "tag", + "value" : "98" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMPDEST" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "PUSH", + "value" : "8" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "SLOAD" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "DUP2" + }, + { + "begin" : 20707, + "end" : 20737, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "tag", + "value" : "101" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMPDEST" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "C" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SLOAD" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "EXP" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "SWAP1" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DIV" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "AND" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "DUP2" + }, + { + "begin" : 21057, + "end" : 21083, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "tag", + "value" : "104" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "178" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "178" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 26652, + "end" : 26663, + "name" : "DUP1" + }, + { + "begin" : 26642, + "end" : 26649, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 26642, + "end" : 26663, + "name" : "DUP2" + }, + { + "begin" : 26642, + "end" : 26663, + "name" : "SWAP1" + }, + { + "begin" : 26642, + "end" : 26663, + "name" : "SSTORE" + }, + { + "begin" : 26642, + "end" : 26663, + "name" : "POP" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "POP" + }, + { + "begin" : 26578, + "end" : 26668, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "tag", + "value" : "107" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMPDEST" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "D" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SLOAD" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "EXP" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "SWAP1" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DIV" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "AND" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "DUP2" + }, + { + "begin" : 21154, + "end" : 21194, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "tag", + "value" : "110" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMPDEST" + }, + { + "begin" : 24009, + "end" : 24029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24225, + "end" : 24246, + "name" : "DUP1" + }, + { + "begin" : 24565, + "end" : 24583, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "181" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "181" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "SWAP1" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "SLOAD" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "SWAP1" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "EXP" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "SWAP1" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "DIV" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 23947, + "end" : 23958, + "name" : "AND" + }, + { + "begin" : 23946, + "end" : 23958, + "name" : "ISZERO" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "ISZERO" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "ISZERO" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "PUSH [tag]", + "value" : "183" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "JUMPI" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "DUP1" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "REVERT" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "tag", + "value" : "183" + }, + { + "begin" : 23938, + "end" : 23959, + "name" : "JUMPDEST" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "PUSH [tag]", + "value" : "184" + }, + { + "begin" : 24059, + "end" : 24063, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 24059, + "end" : 24063, + "name" : "SLOAD" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "PUSH [tag]", + "value" : "185" + }, + { + "begin" : 24046, + "end" : 24053, + "name" : "DUP7" + }, + { + "begin" : 24032, + "end" : 24041, + "name" : "PUSH", + "value" : "A" + }, + { + "begin" : 24032, + "end" : 24041, + "name" : "SLOAD" + }, + { + "begin" : 24032, + "end" : 24045, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 24032, + "end" : 24045, + "name" : "SWAP1" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "SWAP2" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "SWAP1" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "AND" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "tag", + "value" : "185" + }, + { + "begin" : 24032, + "end" : 24054, + "name" : "JUMPDEST" + }, + { + "begin" : 24032, + "end" : 24058, + "name" : "PUSH [tag]", + "value" : "169" + }, + { + "begin" : 24032, + "end" : 24058, + "name" : "SWAP1" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "SWAP2" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "SWAP1" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "AND" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "tag", + "value" : "184" + }, + { + "begin" : 24032, + "end" : 24064, + "name" : "JUMPDEST" + }, + { + "begin" : 24009, + "end" : 24064, + "name" : "SWAP3" + }, + { + "begin" : 24009, + "end" : 24064, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "SWAP1" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "SLOAD" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "SWAP1" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "EXP" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "SWAP1" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "DIV" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24127, + "end" : 24132, + "name" : "AND" + }, + { + "begin" : 24127, + "end" : 24137, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24127, + "end" : 24137, + "name" : "AND" + }, + { + "begin" : 24127, + "end" : 24137, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "PUSH", + "value" : "C" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "SWAP1" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "SLOAD" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "SWAP1" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "EXP" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "SWAP1" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "DIV" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24138, + "end" : 24149, + "name" : "AND" + }, + { + "begin" : 24151, + "end" : 24163, + "name" : "DUP6" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MLOAD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ADD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MSTORE" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MLOAD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP4" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "AND" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MUL" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP2" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MSTORE" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ADD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP4" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "AND" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "AND" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP2" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MSTORE" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ADD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP3" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP2" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MSTORE" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ADD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "SWAP3" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MLOAD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP4" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "SUB" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP2" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP8" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "EXTCODESIZE" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ISZERO" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ISZERO" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH [tag]", + "value" : "186" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "JUMPI" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "REVERT" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "tag", + "value" : "186" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "JUMPDEST" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "GAS" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "SUB" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "CALL" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ISZERO" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "ISZERO" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH [tag]", + "value" : "187" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "JUMPI" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "REVERT" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "tag", + "value" : "187" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "JUMPDEST" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MLOAD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "DUP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "MLOAD" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "SWAP1" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24127, + "end" : 24164, + "name" : "POP" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "PUSH [tag]", + "value" : "188" + }, + { + "begin" : 24276, + "end" : 24279, + "name" : "PUSH", + "value" : "64" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "PUSH [tag]", + "value" : "189" + }, + { + "begin" : 24263, + "end" : 24270, + "name" : "DUP7" + }, + { + "begin" : 24249, + "end" : 24258, + "name" : "PUSH", + "value" : "B" + }, + { + "begin" : 24249, + "end" : 24258, + "name" : "SLOAD" + }, + { + "begin" : 24249, + "end" : 24262, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 24249, + "end" : 24262, + "name" : "SWAP1" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "SWAP2" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "SWAP1" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "AND" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "tag", + "value" : "189" + }, + { + "begin" : 24249, + "end" : 24271, + "name" : "JUMPDEST" + }, + { + "begin" : 24249, + "end" : 24275, + "name" : "PUSH [tag]", + "value" : "169" + }, + { + "begin" : 24249, + "end" : 24275, + "name" : "SWAP1" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "SWAP2" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "SWAP1" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "AND" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "tag", + "value" : "188" + }, + { + "begin" : 24249, + "end" : 24280, + "name" : "JUMPDEST" + }, + { + "begin" : 24225, + "end" : 24280, + "name" : "SWAP2" + }, + { + "begin" : 24225, + "end" : 24280, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "SWAP1" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "SLOAD" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "SWAP1" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "EXP" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "SWAP1" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "DIV" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24345, + "end" : 24351, + "name" : "AND" + }, + { + "begin" : 24345, + "end" : 24366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24345, + "end" : 24366, + "name" : "AND" + }, + { + "begin" : 24345, + "end" : 24366, + "name" : "PUSH", + "value" : "6DC0A997" + }, + { + "begin" : 24367, + "end" : 24379, + "name" : "DUP7" + }, + { + "begin" : 24381, + "end" : 24394, + "name" : "DUP5" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MLOAD" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP4" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "AND" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MUL" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP2" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MSTORE" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ADD" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP1" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP4" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "AND" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "AND" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP2" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MSTORE" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ADD" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP3" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP2" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MSTORE" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ADD" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "SWAP3" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "MLOAD" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP1" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP4" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "SUB" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP2" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP8" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP1" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "EXTCODESIZE" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ISZERO" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ISZERO" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH [tag]", + "value" : "190" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "JUMPI" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP1" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "REVERT" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "tag", + "value" : "190" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "JUMPDEST" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "GAS" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "SUB" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "CALL" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ISZERO" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "ISZERO" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH [tag]", + "value" : "191" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "JUMPI" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "DUP1" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "REVERT" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "tag", + "value" : "191" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "JUMPDEST" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24345, + "end" : 24395, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "SWAP1" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "SLOAD" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "SWAP1" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "EXP" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "SWAP1" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "DIV" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24474, + "end" : 24479, + "name" : "AND" + }, + { + "begin" : 24474, + "end" : 24484, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24474, + "end" : 24484, + "name" : "AND" + }, + { + "begin" : 24474, + "end" : 24484, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 24485, + "end" : 24489, + "name" : "ADDRESS" + }, + { + "begin" : 24491, + "end" : 24504, + "name" : "DUP5" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MLOAD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ADD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MSTORE" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MLOAD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP4" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "AND" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MUL" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP2" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MSTORE" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ADD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP4" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "AND" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "AND" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP2" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MSTORE" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ADD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP3" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP2" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MSTORE" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ADD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "SWAP3" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MLOAD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP4" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "SUB" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP2" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP8" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "EXTCODESIZE" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ISZERO" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ISZERO" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH [tag]", + "value" : "192" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "JUMPI" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "REVERT" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "tag", + "value" : "192" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "JUMPDEST" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "GAS" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "SUB" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "CALL" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ISZERO" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "ISZERO" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH [tag]", + "value" : "193" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "JUMPI" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "REVERT" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "tag", + "value" : "193" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "JUMPDEST" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MLOAD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "DUP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "MLOAD" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "SWAP1" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24474, + "end" : 24505, + "name" : "POP" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "PUSH [tag]", + "value" : "194" + }, + { + "begin" : 24598, + "end" : 24611, + "name" : "DUP3" + }, + { + "begin" : 24586, + "end" : 24593, + "name" : "DUP6" + }, + { + "begin" : 24586, + "end" : 24597, + "name" : "PUSH [tag]", + "value" : "195" + }, + { + "begin" : 24586, + "end" : 24597, + "name" : "SWAP1" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "SWAP2" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "SWAP1" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "AND" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "tag", + "value" : "194" + }, + { + "begin" : 24586, + "end" : 24612, + "name" : "JUMPDEST" + }, + { + "begin" : 24565, + "end" : 24612, + "name" : "SWAP1" + }, + { + "begin" : 24565, + "end" : 24612, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "SWAP1" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "SLOAD" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "SWAP1" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "EXP" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "SWAP1" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "DIV" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24618, + "end" : 24623, + "name" : "AND" + }, + { + "begin" : 24618, + "end" : 24628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24618, + "end" : 24628, + "name" : "AND" + }, + { + "begin" : 24618, + "end" : 24628, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 24629, + "end" : 24641, + "name" : "DUP7" + }, + { + "begin" : 24643, + "end" : 24653, + "name" : "DUP4" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MLOAD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ADD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MSTORE" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MLOAD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP4" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "AND" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MUL" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP2" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MSTORE" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ADD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP4" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "AND" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "AND" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP2" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MSTORE" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ADD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP3" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP2" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MSTORE" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ADD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "SWAP3" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MLOAD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP4" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "SUB" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP2" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP8" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "EXTCODESIZE" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ISZERO" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ISZERO" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH [tag]", + "value" : "196" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "JUMPI" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "REVERT" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "tag", + "value" : "196" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "JUMPDEST" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "GAS" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "SUB" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "CALL" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ISZERO" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "ISZERO" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH [tag]", + "value" : "197" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "JUMPI" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "REVERT" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "tag", + "value" : "197" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "JUMPDEST" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MLOAD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "DUP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "MLOAD" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "SWAP1" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 24618, + "end" : 24654, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "POP" + }, + { + "begin" : 23854, + "end" : 24659, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "tag", + "value" : "114" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMPDEST" + }, + { + "begin" : 22284, + "end" : 22288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 22296, + "end" : 22312, + "name" : "DUP1" + }, + { + "begin" : 22328, + "end" : 22331, + "name" : "PUSH", + "value" : "7" + }, + { + "begin" : 22328, + "end" : 22331, + "name" : "SLOAD" + }, + { + "begin" : 22315, + "end" : 22324, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 22315, + "end" : 22324, + "name" : "SLOAD" + }, + { + "begin" : 22315, + "end" : 22331, + "name" : "LT" + }, + { + "begin" : 22315, + "end" : 22331, + "name" : "ISZERO" + }, + { + "begin" : 22296, + "end" : 22331, + "name" : "SWAP1" + }, + { + "begin" : 22296, + "end" : 22331, + "name" : "POP" + }, + { + "begin" : 22344, + "end" : 22360, + "name" : "PUSH [tag]", + "value" : "199" + }, + { + "begin" : 22344, + "end" : 22358, + "name" : "PUSH [tag]", + "value" : "200" + }, + { + "begin" : 22344, + "end" : 22360, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 22344, + "end" : 22360, + "name" : "tag", + "value" : "199" + }, + { + "begin" : 22344, + "end" : 22360, + "name" : "JUMPDEST" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "DUP1" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "PUSH [tag]", + "value" : "201" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "JUMPI" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "POP" + }, + { + "begin" : 22364, + "end" : 22375, + "name" : "DUP1" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "tag", + "value" : "201" + }, + { + "begin" : 22344, + "end" : 22375, + "name" : "JUMPDEST" + }, + { + "begin" : 22337, + "end" : 22375, + "name" : "SWAP2" + }, + { + "begin" : 22337, + "end" : 22375, + "name" : "POP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "POP" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "SWAP1" + }, + { + "begin" : 22239, + "end" : 22380, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "117" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "203" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "203" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "205" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "205" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "tag", + "value" : "120" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMPDEST" + }, + { + "begin" : 24923, + "end" : 24944, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25195, + "end" : 25215, + "name" : "DUP1" + }, + { + "begin" : 25311, + "end" : 25318, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25403, + "end" : 25416, + "name" : "DUP1" + }, + { + "begin" : 25418, + "end" : 25421, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25423, + "end" : 25430, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "207" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "207" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "SWAP1" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "SLOAD" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "SWAP1" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "EXP" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "SWAP1" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "DIV" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25105, + "end" : 25111, + "name" : "AND" + }, + { + "begin" : 25105, + "end" : 25127, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25105, + "end" : 25127, + "name" : "AND" + }, + { + "begin" : 25105, + "end" : 25127, + "name" : "PUSH", + "value" : "F95E6306" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MLOAD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ADD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MSTORE" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MLOAD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP2" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "AND" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MUL" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP2" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MSTORE" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ADD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MLOAD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP4" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "SUB" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP2" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP8" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "EXTCODESIZE" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ISZERO" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ISZERO" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH [tag]", + "value" : "209" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "JUMPI" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "REVERT" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "tag", + "value" : "209" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "JUMPDEST" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "GAS" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "SUB" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "CALL" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ISZERO" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "ISZERO" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH [tag]", + "value" : "210" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "JUMPI" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "REVERT" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "tag", + "value" : "210" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "JUMPDEST" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "POP" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "POP" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "POP" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MLOAD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "DUP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "MLOAD" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "SWAP1" + }, + { + "begin" : 25105, + "end" : 25129, + "name" : "POP" + }, + { + "begin" : 25104, + "end" : 25129, + "name" : "ISZERO" + }, + { + "begin" : 25100, + "end" : 25149, + "name" : "ISZERO" + }, + { + "begin" : 25100, + "end" : 25149, + "name" : "PUSH [tag]", + "value" : "211" + }, + { + "begin" : 25100, + "end" : 25149, + "name" : "JUMPI" + }, + { + "begin" : 25144, + "end" : 25149, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25137, + "end" : 25149, + "name" : "SWAP6" + }, + { + "begin" : 25137, + "end" : 25149, + "name" : "POP" + }, + { + "begin" : 25137, + "end" : 25149, + "name" : "PUSH [tag]", + "value" : "208" + }, + { + "begin" : 25137, + "end" : 25149, + "name" : "JUMP" + }, + { + "begin" : 25100, + "end" : 25149, + "name" : "tag", + "value" : "211" + }, + { + "begin" : 25100, + "end" : 25149, + "name" : "JUMPDEST" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "SWAP1" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "SLOAD" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "SWAP1" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "EXP" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "SWAP1" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "DIV" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25218, + "end" : 25224, + "name" : "AND" + }, + { + "begin" : 25218, + "end" : 25239, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25218, + "end" : 25239, + "name" : "AND" + }, + { + "begin" : 25218, + "end" : 25239, + "name" : "PUSH", + "value" : "3A2960E1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MLOAD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ADD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MSTORE" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MLOAD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP2" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "AND" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MUL" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP2" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MSTORE" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ADD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MLOAD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP4" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "SUB" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP2" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP8" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "EXTCODESIZE" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ISZERO" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ISZERO" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH [tag]", + "value" : "212" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "JUMPI" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "REVERT" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "tag", + "value" : "212" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "JUMPDEST" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "GAS" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "SUB" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "CALL" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ISZERO" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "ISZERO" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH [tag]", + "value" : "213" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "JUMPI" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "REVERT" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "tag", + "value" : "213" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "JUMPDEST" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "POP" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "POP" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "POP" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MLOAD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "DUP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "MLOAD" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "SWAP1" + }, + { + "begin" : 25218, + "end" : 25241, + "name" : "POP" + }, + { + "begin" : 25195, + "end" : 25241, + "name" : "SWAP5" + }, + { + "begin" : 25195, + "end" : 25241, + "name" : "POP" + }, + { + "begin" : 25321, + "end" : 25322, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25311, + "end" : 25322, + "name" : "SWAP4" + }, + { + "begin" : 25311, + "end" : 25322, + "name" : "POP" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "tag", + "value" : "214" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "JUMPDEST" + }, + { + "begin" : 25329, + "end" : 25344, + "name" : "DUP5" + }, + { + "begin" : 25324, + "end" : 25326, + "name" : "DUP5" + }, + { + "begin" : 25324, + "end" : 25344, + "name" : "LT" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "ISZERO" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "PUSH [tag]", + "value" : "215" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "JUMPI" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "PUSH", + "value" : "E" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "SLOAD" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "EXP" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "DIV" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25434, + "end" : 25440, + "name" : "AND" + }, + { + "begin" : 25434, + "end" : 25447, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25434, + "end" : 25447, + "name" : "AND" + }, + { + "begin" : 25434, + "end" : 25447, + "name" : "PUSH", + "value" : "6198E339" + }, + { + "begin" : 25448, + "end" : 25450, + "name" : "DUP6" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ADD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MSTORE" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP3" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "AND" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MUL" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP2" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MSTORE" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ADD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP3" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP2" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MSTORE" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ADD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SWAP2" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP4" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SUB" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP2" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP8" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "EXTCODESIZE" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ISZERO" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ISZERO" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH [tag]", + "value" : "217" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "JUMPI" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "REVERT" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "tag", + "value" : "217" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "JUMPDEST" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "GAS" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SUB" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "CALL" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ISZERO" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ISZERO" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH [tag]", + "value" : "218" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "JUMPI" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "REVERT" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "tag", + "value" : "218" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "JUMPDEST" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ADD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "ADD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "DUP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "MLOAD" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "SWAP1" + }, + { + "begin" : 25434, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "SWAP3" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "SWAP3" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "SWAP3" + }, + { + "begin" : 25398, + "end" : 25451, + "name" : "POP" + }, + { + "begin" : 25528, + "end" : 25541, + "name" : "DUP3" + }, + { + "begin" : 25524, + "end" : 25590, + "name" : "ISZERO" + }, + { + "begin" : 25524, + "end" : 25590, + "name" : "PUSH [tag]", + "value" : "219" + }, + { + "begin" : 25524, + "end" : 25590, + "name" : "JUMPI" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "SWAP1" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "SLOAD" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "SWAP1" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "EXP" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "SWAP1" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "DIV" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25553, + "end" : 25558, + "name" : "AND" + }, + { + "begin" : 25553, + "end" : 25567, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25553, + "end" : 25567, + "name" : "AND" + }, + { + "begin" : 25553, + "end" : 25567, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 25568, + "end" : 25571, + "name" : "DUP4" + }, + { + "begin" : 25573, + "end" : 25580, + "name" : "DUP4" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MLOAD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ADD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MSTORE" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MLOAD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP4" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "AND" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MUL" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP2" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MSTORE" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ADD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP4" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "AND" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "AND" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP2" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MSTORE" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ADD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP3" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP2" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MSTORE" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ADD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "SWAP3" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MLOAD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP4" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "SUB" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP2" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP8" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "EXTCODESIZE" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ISZERO" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ISZERO" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH [tag]", + "value" : "220" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "JUMPI" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "REVERT" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "tag", + "value" : "220" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "JUMPDEST" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "GAS" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "SUB" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "CALL" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ISZERO" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "ISZERO" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH [tag]", + "value" : "221" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "JUMPI" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "REVERT" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "tag", + "value" : "221" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "JUMPDEST" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MLOAD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "DUP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "MLOAD" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "SWAP1" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25553, + "end" : 25581, + "name" : "POP" + }, + { + "begin" : 25524, + "end" : 25590, + "name" : "tag", + "value" : "219" + }, + { + "begin" : 25524, + "end" : 25590, + "name" : "JUMPDEST" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "DUP4" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "DUP1" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "ADD" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "SWAP5" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "POP" + }, + { + "begin" : 25346, + "end" : 25350, + "name" : "POP" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "PUSH [tag]", + "value" : "214" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "JUMP" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "tag", + "value" : "215" + }, + { + "begin" : 25306, + "end" : 25596, + "name" : "JUMPDEST" + }, + { + "begin" : 25609, + "end" : 25613, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 25602, + "end" : 25613, + "name" : "SWAP6" + }, + { + "begin" : 25602, + "end" : 25613, + "name" : "POP" + }, + { + "begin" : 719, + "end" : 720, + "name" : "tag", + "value" : "208" + }, + { + "begin" : 719, + "end" : 720, + "name" : "JUMPDEST" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "POP" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "SWAP1" + }, + { + "begin" : 24873, + "end" : 25618, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "123" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "EXP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DIV" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "tag", + "value" : "126" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMPDEST" + }, + { + "begin" : 18709, + "end" : 18726, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18789, + "end" : 18803, + "name" : "DUP1" + }, + { + "begin" : 18669, + "end" : 18670, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "AND" + }, + { + "begin" : 18646, + "end" : 18657, + "name" : "DUP4" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "AND" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "EQ" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "PUSH [tag]", + "value" : "223" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "JUMPI" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "DUP1" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "REVERT" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "tag", + "value" : "223" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "JUMPDEST" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "PUSH [tag]", + "value" : "224" + }, + { + "begin" : 18686, + "end" : 18699, + "name" : "PUSH [tag]", + "value" : "225" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "tag", + "value" : "224" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "JUMPDEST" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "ISZERO" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "ISZERO" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "PUSH [tag]", + "value" : "226" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "JUMPI" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "DUP1" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "REVERT" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "tag", + "value" : "226" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "JUMPDEST" + }, + { + "begin" : 18729, + "end" : 18738, + "name" : "CALLVALUE" + }, + { + "begin" : 18709, + "end" : 18738, + "name" : "SWAP2" + }, + { + "begin" : 18709, + "end" : 18738, + "name" : "POP" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "PUSH [tag]", + "value" : "227" + }, + { + "begin" : 18820, + "end" : 18824, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18820, + "end" : 18824, + "name" : "SLOAD" + }, + { + "begin" : 18806, + "end" : 18815, + "name" : "DUP4" + }, + { + "begin" : 18806, + "end" : 18819, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 18806, + "end" : 18819, + "name" : "SWAP1" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "SWAP2" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "SWAP1" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "AND" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "tag", + "value" : "227" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "JUMPDEST" + }, + { + "begin" : 18789, + "end" : 18825, + "name" : "SWAP1" + }, + { + "begin" : 18789, + "end" : 18825, + "name" : "POP" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "PUSH [tag]", + "value" : "228" + }, + { + "begin" : 18878, + "end" : 18887, + "name" : "DUP3" + }, + { + "begin" : 18864, + "end" : 18873, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 18864, + "end" : 18873, + "name" : "SLOAD" + }, + { + "begin" : 18864, + "end" : 18877, + "name" : "PUSH [tag]", + "value" : "171" + }, + { + "begin" : 18864, + "end" : 18877, + "name" : "SWAP1" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "SWAP2" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "SWAP1" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "AND" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "tag", + "value" : "228" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "JUMPDEST" + }, + { + "begin" : 18852, + "end" : 18861, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "DUP2" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "SWAP1" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "SSTORE" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SLOAD" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "EXP" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "DIV" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 18906, + "end" : 18917, + "name" : "DUP5" + }, + { + "begin" : 18919, + "end" : 18925, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MUL" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP3" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SWAP3" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SUB" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP8" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "EXTCODESIZE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH [tag]", + "value" : "229" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPI" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "REVERT" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "tag", + "value" : "229" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPDEST" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "GAS" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SUB" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "CALL" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH [tag]", + "value" : "230" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPI" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "REVERT" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "tag", + "value" : "230" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPDEST" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18958, + "end" : 18969, + "name" : "DUP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "AND" + }, + { + "begin" : 18946, + "end" : 18956, + "name" : "CALLER" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "AND" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18" + }, + { + "begin" : 18971, + "end" : 18980, + "name" : "DUP5" + }, + { + "begin" : 18982, + "end" : 18988, + "name" : "DUP5" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MLOAD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP4" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MSTORE" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "ADD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MSTORE" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "ADD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MLOAD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SUB" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "LOG3" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "PUSH [tag]", + "value" : "231" + }, + { + "begin" : 18996, + "end" : 19008, + "name" : "PUSH [tag]", + "value" : "232" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "tag", + "value" : "231" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "JUMPDEST" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "128" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3746, + "end" : 3753, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3801, + "end" : 3810, + "name" : "DUP1" + }, + { + "begin" : 3770, + "end" : 3771, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3765, + "end" : 3766, + "name" : "DUP5" + }, + { + "begin" : 3765, + "end" : 3771, + "name" : "EQ" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "ISZERO" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "PUSH [tag]", + "value" : "234" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPI" + }, + { + "begin" : 3788, + "end" : 3789, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "SWAP2" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "POP" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "PUSH [tag]", + "value" : "233" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "JUMP" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "tag", + "value" : "234" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPDEST" + }, + { + "begin" : 3817, + "end" : 3818, + "name" : "DUP3" + }, + { + "begin" : 3813, + "end" : 3814, + "name" : "DUP5" + }, + { + "begin" : 3813, + "end" : 3818, + "name" : "MUL" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "SWAP1" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "POP" + }, + { + "begin" : 3840, + "end" : 3841, + "name" : "DUP3" + }, + { + "begin" : 3835, + "end" : 3836, + "name" : "DUP5" + }, + { + "begin" : 3831, + "end" : 3832, + "name" : "DUP3" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DUP2" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "PUSH [tag]", + "value" : "235" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPI" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "INVALID" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "tag", + "value" : "235" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPDEST" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DIV" + }, + { + "begin" : 3831, + "end" : 3841, + "name" : "EQ" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "PUSH [tag]", + "value" : "236" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPI" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "INVALID" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "tag", + "value" : "236" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPDEST" + }, + { + "begin" : 3855, + "end" : 3856, + "name" : "DUP1" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "SWAP2" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "233" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP3" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP2" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 27047, + "end" : 27216, + "name" : "tag", + "value" : "163" + }, + { + "begin" : 27047, + "end" : 27216, + "name" : "JUMPDEST" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "SWAP1" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "SLOAD" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "SWAP1" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "EXP" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "SWAP1" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "DIV" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27105, + "end" : 27110, + "name" : "AND" + }, + { + "begin" : 27105, + "end" : 27124, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27105, + "end" : 27124, + "name" : "AND" + }, + { + "begin" : 27105, + "end" : 27124, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MLOAD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ADD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MSTORE" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MLOAD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP2" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "AND" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MUL" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP2" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MSTORE" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ADD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MLOAD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP4" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "SUB" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP2" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP8" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "EXTCODESIZE" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ISZERO" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ISZERO" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH [tag]", + "value" : "238" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "JUMPI" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "REVERT" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "tag", + "value" : "238" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "JUMPDEST" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "GAS" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "SUB" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "CALL" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ISZERO" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "ISZERO" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH [tag]", + "value" : "239" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "JUMPI" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "REVERT" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "tag", + "value" : "239" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "JUMPDEST" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "POP" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "POP" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "POP" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MLOAD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "DUP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "MLOAD" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "SWAP1" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "POP" + }, + { + "begin" : 27105, + "end" : 27126, + "name" : "POP" + }, + { + "begin" : 27170, + "end" : 27184, + "name" : "PUSH [tag]", + "value" : "240" + }, + { + "begin" : 27170, + "end" : 27182, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 27170, + "end" : 27184, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27170, + "end" : 27184, + "name" : "tag", + "value" : "240" + }, + { + "begin" : 27170, + "end" : 27184, + "name" : "JUMPDEST" + }, + { + "begin" : 27170, + "end" : 27184, + "name" : "POP" + }, + { + "begin" : 27191, + "end" : 27211, + "name" : "PUSH [tag]", + "value" : "241" + }, + { + "begin" : 27191, + "end" : 27209, + "name" : "PUSH [tag]", + "value" : "242" + }, + { + "begin" : 27191, + "end" : 27211, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27191, + "end" : 27211, + "name" : "tag", + "value" : "241" + }, + { + "begin" : 27191, + "end" : 27211, + "name" : "JUMPDEST" + }, + { + "begin" : 27047, + "end" : 27216, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "tag", + "value" : "169" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "JUMPDEST" + }, + { + "begin" : 3923, + "end" : 3930, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4012, + "end" : 4021, + "name" : "DUP1" + }, + { + "begin" : 4028, + "end" : 4029, + "name" : "DUP3" + }, + { + "begin" : 4024, + "end" : 4025, + "name" : "DUP5" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "DUP2" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "ISZERO" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "ISZERO" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "PUSH [tag]", + "value" : "244" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "JUMPI" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "INVALID" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "tag", + "value" : "244" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "JUMPDEST" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "DIV" + }, + { + "begin" : 4012, + "end" : 4029, + "name" : "SWAP1" + }, + { + "begin" : 4012, + "end" : 4029, + "name" : "POP" + }, + { + "begin" : 4124, + "end" : 4125, + "name" : "DUP1" + }, + { + "begin" : 4117, + "end" : 4125, + "name" : "SWAP2" + }, + { + "begin" : 4117, + "end" : 4125, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "SWAP3" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "SWAP2" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "171" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "246" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "246" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "195" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "248" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "248" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "tag", + "value" : "200" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPDEST" + }, + { + "begin" : 19547, + "end" : 19551, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19572, + "end" : 19579, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 19572, + "end" : 19579, + "name" : "SLOAD" + }, + { + "begin" : 19566, + "end" : 19569, + "name" : "TIMESTAMP" + }, + { + "begin" : 19566, + "end" : 19579, + "name" : "GT" + }, + { + "begin" : 19559, + "end" : 19579, + "name" : "SWAP1" + }, + { + "begin" : 19559, + "end" : 19579, + "name" : "POP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SWAP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "tag", + "value" : "225" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "JUMPDEST" + }, + { + "begin" : 27552, + "end" : 27556, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27564, + "end" : 27579, + "name" : "DUP1" + }, + { + "begin" : 27619, + "end" : 27637, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27681, + "end" : 27692, + "name" : "DUP1" + }, + { + "begin" : 27729, + "end" : 27756, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27802, + "end" : 27817, + "name" : "DUP1" + }, + { + "begin" : 27610, + "end" : 27613, + "name" : "PUSH", + "value" : "7" + }, + { + "begin" : 27610, + "end" : 27613, + "name" : "SLOAD" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "PUSH [tag]", + "value" : "251" + }, + { + "begin" : 27596, + "end" : 27605, + "name" : "CALLVALUE" + }, + { + "begin" : 27582, + "end" : 27591, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 27582, + "end" : 27591, + "name" : "SLOAD" + }, + { + "begin" : 27582, + "end" : 27595, + "name" : "PUSH [tag]", + "value" : "171" + }, + { + "begin" : 27582, + "end" : 27595, + "name" : "SWAP1" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "SWAP2" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "SWAP1" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "AND" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "tag", + "value" : "251" + }, + { + "begin" : 27582, + "end" : 27606, + "name" : "JUMPDEST" + }, + { + "begin" : 27582, + "end" : 27613, + "name" : "GT" + }, + { + "begin" : 27582, + "end" : 27613, + "name" : "ISZERO" + }, + { + "begin" : 27564, + "end" : 27613, + "name" : "SWAP5" + }, + { + "begin" : 27564, + "end" : 27613, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "PUSH", + "value" : "D" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "SWAP1" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "SLOAD" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "SWAP1" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "EXP" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "SWAP1" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "DIV" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27640, + "end" : 27650, + "name" : "AND" + }, + { + "begin" : 27640, + "end" : 27663, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27640, + "end" : 27663, + "name" : "AND" + }, + { + "begin" : 27640, + "end" : 27663, + "name" : "PUSH", + "value" : "FE9FBB80" + }, + { + "begin" : 27664, + "end" : 27674, + "name" : "CALLER" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MLOAD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ADD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MSTORE" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MLOAD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP3" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "AND" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MUL" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP2" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MSTORE" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ADD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP3" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "AND" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "AND" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP2" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MSTORE" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ADD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "SWAP2" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MLOAD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP4" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "SUB" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP2" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP8" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "EXTCODESIZE" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ISZERO" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ISZERO" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH [tag]", + "value" : "252" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "JUMPI" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "REVERT" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "tag", + "value" : "252" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "JUMPDEST" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "GAS" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "SUB" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "CALL" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ISZERO" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "ISZERO" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH [tag]", + "value" : "253" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "JUMPI" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "REVERT" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "tag", + "value" : "253" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "JUMPDEST" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MLOAD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "DUP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "MLOAD" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "SWAP1" + }, + { + "begin" : 27640, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27619, + "end" : 27675, + "name" : "SWAP4" + }, + { + "begin" : 27619, + "end" : 27675, + "name" : "POP" + }, + { + "begin" : 27708, + "end" : 27723, + "name" : "PUSH", + "value" : "8" + }, + { + "begin" : 27708, + "end" : 27723, + "name" : "SLOAD" + }, + { + "begin" : 27695, + "end" : 27704, + "name" : "CALLVALUE" + }, + { + "begin" : 27695, + "end" : 27723, + "name" : "LT" + }, + { + "begin" : 27695, + "end" : 27723, + "name" : "ISZERO" + }, + { + "begin" : 27681, + "end" : 27723, + "name" : "SWAP3" + }, + { + "begin" : 27681, + "end" : 27723, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "PUSH [tag]", + "value" : "254" + }, + { + "begin" : 27791, + "end" : 27795, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 27791, + "end" : 27795, + "name" : "SLOAD" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "SLOAD" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "EXP" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "DIV" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27764, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27774, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27774, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27774, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 27775, + "end" : 27785, + "name" : "CALLER" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MLOAD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ADD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MSTORE" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MLOAD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP3" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MUL" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP2" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MSTORE" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ADD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP3" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP2" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MSTORE" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ADD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "SWAP2" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MLOAD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP4" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "SUB" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP2" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP8" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "EXTCODESIZE" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ISZERO" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ISZERO" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH [tag]", + "value" : "255" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "JUMPI" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "REVERT" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "tag", + "value" : "255" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "JUMPDEST" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "GAS" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "SUB" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "CALL" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ISZERO" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "ISZERO" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH [tag]", + "value" : "256" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "JUMPI" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "REVERT" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "tag", + "value" : "256" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "JUMPDEST" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MLOAD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "DUP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "MLOAD" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27786, + "name" : "POP" + }, + { + "begin" : 27759, + "end" : 27790, + "name" : "PUSH [tag]", + "value" : "169" + }, + { + "begin" : 27759, + "end" : 27790, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "SWAP2" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "SWAP1" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "AND" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "tag", + "value" : "254" + }, + { + "begin" : 27759, + "end" : 27796, + "name" : "JUMPDEST" + }, + { + "begin" : 27729, + "end" : 27796, + "name" : "SWAP2" + }, + { + "begin" : 27729, + "end" : 27796, + "name" : "POP" + }, + { + "begin" : 27858, + "end" : 27873, + "name" : "PUSH", + "value" : "9" + }, + { + "begin" : 27858, + "end" : 27873, + "name" : "SLOAD" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "PUSH [tag]", + "value" : "257" + }, + { + "begin" : 27834, + "end" : 27853, + "name" : "DUP4" + }, + { + "begin" : 27820, + "end" : 27829, + "name" : "CALLVALUE" + }, + { + "begin" : 27820, + "end" : 27833, + "name" : "PUSH [tag]", + "value" : "171" + }, + { + "begin" : 27820, + "end" : 27833, + "name" : "SWAP1" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "SWAP2" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "SWAP1" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "AND" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "tag", + "value" : "257" + }, + { + "begin" : 27820, + "end" : 27854, + "name" : "JUMPDEST" + }, + { + "begin" : 27820, + "end" : 27873, + "name" : "GT" + }, + { + "begin" : 27820, + "end" : 27873, + "name" : "ISZERO" + }, + { + "begin" : 27802, + "end" : 27873, + "name" : "SWAP1" + }, + { + "begin" : 27802, + "end" : 27873, + "name" : "POP" + }, + { + "begin" : 27886, + "end" : 27907, + "name" : "PUSH [tag]", + "value" : "258" + }, + { + "begin" : 27886, + "end" : 27905, + "name" : "PUSH [tag]", + "value" : "259" + }, + { + "begin" : 27886, + "end" : 27907, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 27886, + "end" : 27907, + "name" : "tag", + "value" : "258" + }, + { + "begin" : 27886, + "end" : 27907, + "name" : "JUMPDEST" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "DUP1" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "ISZERO" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "PUSH [tag]", + "value" : "260" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "JUMPI" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "POP" + }, + { + "begin" : 27911, + "end" : 27921, + "name" : "DUP5" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "tag", + "value" : "260" + }, + { + "begin" : 27886, + "end" : 27921, + "name" : "JUMPDEST" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "DUP1" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "ISZERO" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "PUSH [tag]", + "value" : "261" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "JUMPI" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "POP" + }, + { + "begin" : 27925, + "end" : 27938, + "name" : "DUP4" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "tag", + "value" : "261" + }, + { + "begin" : 27886, + "end" : 27938, + "name" : "JUMPDEST" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "DUP1" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "ISZERO" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "PUSH [tag]", + "value" : "262" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "JUMPI" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "POP" + }, + { + "begin" : 27942, + "end" : 27948, + "name" : "DUP3" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "tag", + "value" : "262" + }, + { + "begin" : 27886, + "end" : 27948, + "name" : "JUMPDEST" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "DUP1" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "ISZERO" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "PUSH [tag]", + "value" : "263" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "JUMPI" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "POP" + }, + { + "begin" : 27952, + "end" : 27962, + "name" : "DUP1" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "tag", + "value" : "263" + }, + { + "begin" : 27886, + "end" : 27962, + "name" : "JUMPDEST" + }, + { + "begin" : 27879, + "end" : 27962, + "name" : "SWAP6" + }, + { + "begin" : 27879, + "end" : 27962, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "POP" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "SWAP1" + }, + { + "begin" : 27500, + "end" : 27967, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "tag", + "value" : "232" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "JUMPDEST" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SLOAD" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "EXP" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "DIV" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "AND" + }, + { + "begin" : 19162, + "end" : 19177, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 19162, + "end" : 19177, + "name" : "AND" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "8FC" + }, + { + "begin" : 19178, + "end" : 19187, + "name" : "CALLVALUE" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP2" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MUL" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MLOAD" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MLOAD" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP4" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SUB" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP2" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP6" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP9" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP9" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "CALL" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP4" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH [tag]", + "value" : "265" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "JUMPI" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "REVERT" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "tag", + "value" : "265" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "JUMPDEST" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 20422, + "end" : 20460, + "name" : "tag", + "value" : "242" + }, + { + "begin" : 20422, + "end" : 20460, + "name" : "JUMPDEST" + }, + { + "begin" : 20422, + "end" : 20460, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "tag", + "value" : "259" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "JUMPDEST" + }, + { + "begin" : 19297, + "end" : 19301, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19309, + "end" : 19326, + "name" : "DUP1" + }, + { + "begin" : 19369, + "end" : 19389, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19336, + "end" : 19345, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 19336, + "end" : 19345, + "name" : "SLOAD" + }, + { + "begin" : 19329, + "end" : 19332, + "name" : "TIMESTAMP" + }, + { + "begin" : 19329, + "end" : 19345, + "name" : "LT" + }, + { + "begin" : 19329, + "end" : 19345, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "DUP1" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "PUSH [tag]", + "value" : "268" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "JUMPI" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "POP" + }, + { + "begin" : 19356, + "end" : 19363, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 19356, + "end" : 19363, + "name" : "SLOAD" + }, + { + "begin" : 19349, + "end" : 19352, + "name" : "TIMESTAMP" + }, + { + "begin" : 19349, + "end" : 19363, + "name" : "GT" + }, + { + "begin" : 19349, + "end" : 19363, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "tag", + "value" : "268" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "JUMPDEST" + }, + { + "begin" : 19309, + "end" : 19363, + "name" : "SWAP2" + }, + { + "begin" : 19309, + "end" : 19363, + "name" : "POP" + }, + { + "begin" : 19405, + "end" : 19406, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19392, + "end" : 19401, + "name" : "CALLVALUE" + }, + { + "begin" : 19392, + "end" : 19406, + "name" : "EQ" + }, + { + "begin" : 19392, + "end" : 19406, + "name" : "ISZERO" + }, + { + "begin" : 19369, + "end" : 19406, + "name" : "SWAP1" + }, + { + "begin" : 19369, + "end" : 19406, + "name" : "POP" + }, + { + "begin" : 19419, + "end" : 19431, + "name" : "DUP2" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "DUP1" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "ISZERO" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "PUSH [tag]", + "value" : "269" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "JUMPI" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "POP" + }, + { + "begin" : 19435, + "end" : 19450, + "name" : "DUP1" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "tag", + "value" : "269" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "JUMPDEST" + }, + { + "begin" : 19412, + "end" : 19450, + "name" : "SWAP3" + }, + { + "begin" : 19412, + "end" : 19450, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "SWAP1" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "tag", + "value" : "270" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "JUMPDEST" + }, + { + "begin" : 26767, + "end" : 26780, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 26912, + "end" : 26913, + "name" : "DUP1" + }, + { + "begin" : 26888, + "end" : 26915, + "name" : "SWAP1" + }, + { + "begin" : 26888, + "end" : 26915, + "name" : "POP" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "SWAP1" + }, + { + "begin" : 26718, + "end" : 26920, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "60606040526000600660146101000a81548160ff02191690831515021790555034156200002b57600080fd5b60405161014080620024838339810160405280805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190505086868684428410151515620000ae57600080fd5b838310151515620000be57600080fd5b600082111515620000ce57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200010b57600080fd5b62000129620002ae6401000000000262002189176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181905550826002819055508160048190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008a1115156200021357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156200023a57600080fd5b89600781905550886008819055508760098190555083600a8190555082600b8190555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050505050620002b6565b600080905090565b6121bd80620002c66000396000f300606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ed9d211461018b578063058a628f146101ae57806306490f47146101e75780630b745a011461023c578063144fa6d7146102755780632c4e722e146102ae5780633197cbb6146102d7578063355274ea146103005780634042b66f1461032957806344691f7e1461035257806347786d371461037f5780634bb278f3146103a2578063521eb273146103b75780635af123f41461040c578063688cdba81461043557806378e979251461045e57806386ce0285146104875780638d3d6576146104c95780638d4e4083146104f25780638da5cb5b1461051f578063aaffadf314610574578063bff99c6c1461059d578063ccb98ffc146105f2578063d09edf3114610615578063eb3a88dc1461066a578063ec8ac4d8146106ac578063ecb70fb7146106da578063f2fde38b14610707578063f968f49314610740578063fc0c546a1461076d575b610189336107c2565b005b341561019657600080fd5b6101ac60048080359060200190919050506108f2565b005b34156101b957600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b005b34156101f257600080fd5b6101fa610a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024757600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a32565b005b341561028057600080fd5b6102ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ae6565b005b34156102b957600080fd5b6102c1610b99565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b6102ea610b9f565b6040518082815260200191505060405180910390f35b341561030b57600080fd5b610313610ba5565b6040518082815260200191505060405180910390f35b341561033457600080fd5b61033c610bab565b6040518082815260200191505060405180910390f35b341561035d57600080fd5b610365610bb1565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103a06004808035906020019091905050610bbd565b005b34156103ad57600080fd5b6103b5610c46565b005b34156103c257600080fd5b6103ca610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041757600080fd5b61041f610d48565b6040518082815260200191505060405180910390f35b341561044057600080fd5b610448610d4e565b6040518082815260200191505060405180910390f35b341561046957600080fd5b610471610d54565b6040518082815260200191505060405180910390f35b341561049257600080fd5b6104c7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d5a565b005b34156104d457600080fd5b6104dc611083565b6040518082815260200191505060405180910390f35b34156104fd57600080fd5b610505611089565b604051808215151515815260200191505060405180910390f35b341561052a57600080fd5b61053261109c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057f57600080fd5b6105876110c2565b6040518082815260200191505060405180910390f35b34156105a857600080fd5b6105b06110c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fd57600080fd5b61061360048080359060200190919050506110ee565b005b341561062057600080fd5b610628611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067557600080fd5b6106aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061117a565b005b6106d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156106e557600080fd5b6106ed61161a565b604051808215151515815260200191505060405180910390f35b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061163d565b005b341561074b57600080fd5b610753611795565b604051808215151515815260200191505060405180910390f35b341561077857600080fd5b610780611b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006107cd82611b5e565b6107e2600a5434611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b50505060405180519050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094e57600080fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109b457600080fd5b6109bc610bb1565b1515156109c857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8e57600080fd5b610a96610bb1565b151515610aa257600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4257600080fd5b610b4a610bb1565b151515610b5657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b60025481565b60075481565b60055481565b60006001544211905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b600081111515610c2857600080fd5b610c30610bb1565b151515610c3c57600080fd5b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca257600080fd5b600660149054906101000a900460ff16151515610cbe57600080fd5b610cc661161a565b1515610cd157600080fd5b610cd9611d82565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16001600660146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600a5481565b60015481565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610db957600080fd5b600660149054906101000a900460ff16151515610dd557600080fd5b610dea60045484611e3e90919063ffffffff16565b9150610e0182600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ed357600080fd5b6102c65a03f11515610ee457600080fd5b5050506040518051905050610f04600a5483611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ff457600080fd5b6102c65a03f1151561100557600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188486604051808381526020018281526020019250505060405180910390a350505050565b60095481565b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114a57600080fd5b8060028190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111db57600080fd5b600660149054906101000a900460ff161515156111f757600080fd5b61122060045461121286600a54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561131057600080fd5b6102c65a03f1151561132157600080fd5b5050506040518051905050611354606461134686600b54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b9150600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636dc0a99786846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561141a57600080fd5b6102c65a03f1151561142b57600080fd5b5050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156114fa57600080fd5b6102c65a03f1151561150b57600080fd5b50505060405180519050506115298285611e7790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1986836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156115f757600080fd5b6102c65a03f1151561160857600080fd5b50505060405180519050505050505050565b6000806007546005541015905061162f611e90565b806116375750805b91505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117fa57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f95e63066000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561188857600080fd5b6102c65a03f1151561189957600080fd5b5050506040518051905015156118b25760009550611b31565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633a2960e16000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561194057600080fd5b6102c65a03f1151561195157600080fd5b505050604051805190509450600093505b84841015611b2c57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636198e339856000604051606001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b1515611a0357600080fd5b6102c65a03f11515611a1457600080fd5b505050604051805190602001805190602001805190509250925092508215611b1f576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611b0257600080fd5b6102c65a03f11515611b1357600080fd5b50505060405180519050505b8380600101945050611962565b600195505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b9d57600080fd5b611ba5611e9c565b1515611bb057600080fd5b349150611bc860045483611d4790919063ffffffff16565b9050611bdf82600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611cb157600080fd5b6102c65a03f11515611cc257600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3611d426120f0565b505050565b6000806000841415611d5c5760009150611d7b565b8284029050828482811515611d6d57fe5b04141515611d7757fe5b8091505b5092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e0f57600080fd5b6102c65a03f11515611e2057600080fd5b5050506040518051905050611e33611795565b50611e3c612154565b565b6000808284811515611e4c57fe5b0490508091505092915050565b6000808284019050838110151515611e6d57fe5b8091505092915050565b6000828211151515611e8557fe5b818303905092915050565b60006002544211905090565b600080600080600080600754611ebd34600554611e5990919063ffffffff16565b11159450600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611f8657600080fd5b6102c65a03f11515611f9757600080fd5b505050604051805190509350600854341015925061209e6004546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561207557600080fd5b6102c65a03f1151561208657600080fd5b50505060405180519050611e3e90919063ffffffff16565b91506009546120b68334611e5990919063ffffffff16565b111590506120c2612156565b80156120cb5750845b80156120d45750835b80156120dd5750825b80156120e65750805b9550505050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561215257600080fd5b565b565b6000806000600154421015801561216f57506002544211155b9150600034141590508180156121825750805b9250505090565b6000809050905600a165627a7a72305820b99ea6d158eae41ae59e8dd5e4bd84e86fc835f65e55ddf1524578dcf6b6c9b50029", + "bin-runtime" : "606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ed9d211461018b578063058a628f146101ae57806306490f47146101e75780630b745a011461023c578063144fa6d7146102755780632c4e722e146102ae5780633197cbb6146102d7578063355274ea146103005780634042b66f1461032957806344691f7e1461035257806347786d371461037f5780634bb278f3146103a2578063521eb273146103b75780635af123f41461040c578063688cdba81461043557806378e979251461045e57806386ce0285146104875780638d3d6576146104c95780638d4e4083146104f25780638da5cb5b1461051f578063aaffadf314610574578063bff99c6c1461059d578063ccb98ffc146105f2578063d09edf3114610615578063eb3a88dc1461066a578063ec8ac4d8146106ac578063ecb70fb7146106da578063f2fde38b14610707578063f968f49314610740578063fc0c546a1461076d575b610189336107c2565b005b341561019657600080fd5b6101ac60048080359060200190919050506108f2565b005b34156101b957600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b005b34156101f257600080fd5b6101fa610a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024757600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a32565b005b341561028057600080fd5b6102ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ae6565b005b34156102b957600080fd5b6102c1610b99565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b6102ea610b9f565b6040518082815260200191505060405180910390f35b341561030b57600080fd5b610313610ba5565b6040518082815260200191505060405180910390f35b341561033457600080fd5b61033c610bab565b6040518082815260200191505060405180910390f35b341561035d57600080fd5b610365610bb1565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103a06004808035906020019091905050610bbd565b005b34156103ad57600080fd5b6103b5610c46565b005b34156103c257600080fd5b6103ca610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041757600080fd5b61041f610d48565b6040518082815260200191505060405180910390f35b341561044057600080fd5b610448610d4e565b6040518082815260200191505060405180910390f35b341561046957600080fd5b610471610d54565b6040518082815260200191505060405180910390f35b341561049257600080fd5b6104c7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d5a565b005b34156104d457600080fd5b6104dc611083565b6040518082815260200191505060405180910390f35b34156104fd57600080fd5b610505611089565b604051808215151515815260200191505060405180910390f35b341561052a57600080fd5b61053261109c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057f57600080fd5b6105876110c2565b6040518082815260200191505060405180910390f35b34156105a857600080fd5b6105b06110c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fd57600080fd5b61061360048080359060200190919050506110ee565b005b341561062057600080fd5b610628611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067557600080fd5b6106aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061117a565b005b6106d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156106e557600080fd5b6106ed61161a565b604051808215151515815260200191505060405180910390f35b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061163d565b005b341561074b57600080fd5b610753611795565b604051808215151515815260200191505060405180910390f35b341561077857600080fd5b610780611b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006107cd82611b5e565b6107e2600a5434611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b50505060405180519050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094e57600080fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109b457600080fd5b6109bc610bb1565b1515156109c857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8e57600080fd5b610a96610bb1565b151515610aa257600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4257600080fd5b610b4a610bb1565b151515610b5657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b60025481565b60075481565b60055481565b60006001544211905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b600081111515610c2857600080fd5b610c30610bb1565b151515610c3c57600080fd5b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca257600080fd5b600660149054906101000a900460ff16151515610cbe57600080fd5b610cc661161a565b1515610cd157600080fd5b610cd9611d82565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16001600660146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600a5481565b60015481565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610db957600080fd5b600660149054906101000a900460ff16151515610dd557600080fd5b610dea60045484611e3e90919063ffffffff16565b9150610e0182600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ed357600080fd5b6102c65a03f11515610ee457600080fd5b5050506040518051905050610f04600a5483611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ff457600080fd5b6102c65a03f1151561100557600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188486604051808381526020018281526020019250505060405180910390a350505050565b60095481565b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114a57600080fd5b8060028190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111db57600080fd5b600660149054906101000a900460ff161515156111f757600080fd5b61122060045461121286600a54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561131057600080fd5b6102c65a03f1151561132157600080fd5b5050506040518051905050611354606461134686600b54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b9150600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636dc0a99786846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561141a57600080fd5b6102c65a03f1151561142b57600080fd5b5050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156114fa57600080fd5b6102c65a03f1151561150b57600080fd5b50505060405180519050506115298285611e7790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1986836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156115f757600080fd5b6102c65a03f1151561160857600080fd5b50505060405180519050505050505050565b6000806007546005541015905061162f611e90565b806116375750805b91505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117fa57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f95e63066000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561188857600080fd5b6102c65a03f1151561189957600080fd5b5050506040518051905015156118b25760009550611b31565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633a2960e16000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561194057600080fd5b6102c65a03f1151561195157600080fd5b505050604051805190509450600093505b84841015611b2c57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636198e339856000604051606001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b1515611a0357600080fd5b6102c65a03f11515611a1457600080fd5b505050604051805190602001805190602001805190509250925092508215611b1f576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611b0257600080fd5b6102c65a03f11515611b1357600080fd5b50505060405180519050505b8380600101945050611962565b600195505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b9d57600080fd5b611ba5611e9c565b1515611bb057600080fd5b349150611bc860045483611d4790919063ffffffff16565b9050611bdf82600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611cb157600080fd5b6102c65a03f11515611cc257600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3611d426120f0565b505050565b6000806000841415611d5c5760009150611d7b565b8284029050828482811515611d6d57fe5b04141515611d7757fe5b8091505b5092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e0f57600080fd5b6102c65a03f11515611e2057600080fd5b5050506040518051905050611e33611795565b50611e3c612154565b565b6000808284811515611e4c57fe5b0490508091505092915050565b6000808284019050838110151515611e6d57fe5b8091505092915050565b6000828211151515611e8557fe5b818303905092915050565b60006002544211905090565b600080600080600080600754611ebd34600554611e5990919063ffffffff16565b11159450600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611f8657600080fd5b6102c65a03f11515611f9757600080fd5b505050604051805190509350600854341015925061209e6004546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561207557600080fd5b6102c65a03f1151561208657600080fd5b50505060405180519050611e3e90919063ffffffff16565b91506009546120b68334611e5990919063ffffffff16565b111590506120c2612156565b80156120cb5750845b80156120d45750835b80156120dd5750825b80156120e65750805b9550505050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561215257600080fd5b565b565b6000806000600154421015801561216f57506002544211155b9150600034141590508180156121825750805b9250505090565b6000809050905600a165627a7a72305820b99ea6d158eae41ae59e8dd5e4bd84e86fc835f65e55ddf1524578dcf6b6c9b50029", + "clone-bin" : "", + "devdoc" : "{\"methods\":{\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "allocateTokens(address,uint256)" : "86ce0285", + "authorizer()" : "d09edf31", + "bonusRate()" : "5af123f4", + "buyTokens(address)" : "ec8ac4d8", + "cap()" : "355274ea", + "endTime()" : "3197cbb6", + "finalize()" : "4bb278f3", + "hasEnded()" : "ecb70fb7", + "hasStarted()" : "44691f7e", + "isFinalized()" : "8d4e4083", + "lockup()" : "06490f47", + "lockupTokens(address,uint256)" : "eb3a88dc", + "maxContribution()" : "8d3d6576", + "minContribution()" : "aaffadf3", + "owner()" : "8da5cb5b", + "ownerRate()" : "688cdba8", + "rate()" : "2c4e722e", + "setAuthorizer(address)" : "058a628f", + "setCap(uint256)" : "47786d37", + "setEndTime(uint256)" : "ccb98ffc", + "setLockup(address)" : "0b745a01", + "setMaxContribution(uint256)" : "03ed9d21", + "setToken(address)" : "144fa6d7", + "startTime()" : "78e97925", + "token()" : "fc0c546a", + "tokenWallet()" : "bff99c6c", + "transferOwnership(address)" : "f2fde38b", + "unlockTokens()" : "f968f493", + "wallet()" : "521eb273", + "weiRaised()" : "4042b66f" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_newMaxContribution\",\"type\":\"uint256\"}],\"name\":\"setMaxContribution\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authorizer\",\"type\":\"address\"}],\"name\":\"setAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lockup\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_lockup\",\"type\":\"address\"}],\"name\":\"setLockup\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"endTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasStarted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newCap\",\"type\":\"uint256\"}],\"name\":\"setCap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bonusRate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ownerRate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"startTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"allocateTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"maxContribution\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFinalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minContribution\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenWallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newEndTime\",\"type\":\"uint256\"}],\"name\":\"setEndTime\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"authorizer\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lockupTokens\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unlockTokens\",\"outputs\":[{\"name\":\"_didIssueRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_cap\",\"type\":\"uint256\"},{\"name\":\"_minWei\",\"type\":\"uint256\"},{\"name\":\"_maxWei\",\"type\":\"uint256\"},{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_endTime\",\"type\":\"uint256\"},{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_ownerRate\",\"type\":\"uint256\"},{\"name\":\"_bonusRate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"},{\"name\":\"_tokenWallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Finalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenPurchase\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"BRDCrowdsale\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x6 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLVALUE ISZERO PUSH3 0x2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x140 DUP1 PUSH3 0x2483 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP DUP7 DUP7 DUP7 DUP5 TIMESTAMP DUP5 LT ISZERO ISZERO ISZERO PUSH3 0xAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP4 LT ISZERO ISZERO ISZERO PUSH3 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x10B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x129 PUSH3 0x2AE PUSH5 0x100000000 MUL PUSH3 0x2189 OR PUSH5 0x100000000 SWAP1 DIV JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP POP CALLER PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP11 GT ISZERO ISZERO PUSH3 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x23A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x7 DUP2 SWAP1 SSTORE POP DUP9 PUSH1 0x8 DUP2 SWAP1 SSTORE POP DUP8 PUSH1 0x9 DUP2 SWAP1 SSTORE POP DUP4 PUSH1 0xA DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0xB DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0xC PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP POP POP POP POP POP POP POP PUSH3 0x2B6 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x21BD DUP1 PUSH3 0x2C6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x180 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x3ED9D21 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x58A628F EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x6490F47 EQ PUSH2 0x1E7 JUMPI DUP1 PUSH4 0xB745A01 EQ PUSH2 0x23C JUMPI DUP1 PUSH4 0x144FA6D7 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0x2C4E722E EQ PUSH2 0x2AE JUMPI DUP1 PUSH4 0x3197CBB6 EQ PUSH2 0x2D7 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x300 JUMPI DUP1 PUSH4 0x4042B66F EQ PUSH2 0x329 JUMPI DUP1 PUSH4 0x44691F7E EQ PUSH2 0x352 JUMPI DUP1 PUSH4 0x47786D37 EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0x4BB278F3 EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x521EB273 EQ PUSH2 0x3B7 JUMPI DUP1 PUSH4 0x5AF123F4 EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0x688CDBA8 EQ PUSH2 0x435 JUMPI DUP1 PUSH4 0x78E97925 EQ PUSH2 0x45E JUMPI DUP1 PUSH4 0x86CE0285 EQ PUSH2 0x487 JUMPI DUP1 PUSH4 0x8D3D6576 EQ PUSH2 0x4C9 JUMPI DUP1 PUSH4 0x8D4E4083 EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x51F JUMPI DUP1 PUSH4 0xAAFFADF3 EQ PUSH2 0x574 JUMPI DUP1 PUSH4 0xBFF99C6C EQ PUSH2 0x59D JUMPI DUP1 PUSH4 0xCCB98FFC EQ PUSH2 0x5F2 JUMPI DUP1 PUSH4 0xD09EDF31 EQ PUSH2 0x615 JUMPI DUP1 PUSH4 0xEB3A88DC EQ PUSH2 0x66A JUMPI DUP1 PUSH4 0xEC8AC4D8 EQ PUSH2 0x6AC JUMPI DUP1 PUSH4 0xECB70FB7 EQ PUSH2 0x6DA JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x707 JUMPI DUP1 PUSH4 0xF968F493 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x76D JUMPI JUMPDEST PUSH2 0x189 CALLER PUSH2 0x7C2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AC PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x8F2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x1B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E5 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x958 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x1F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FA PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x273 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xA32 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2AC PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xAE6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C1 PUSH2 0xB99 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2EA PUSH2 0xB9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x313 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x33C PUSH2 0xBAB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x35D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x365 PUSH2 0xBB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A0 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xBBD JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B5 PUSH2 0xC46 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3CA PUSH2 0xD22 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41F PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x440 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x448 PUSH2 0xD4E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x471 PUSH2 0xD54 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4C7 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xD5A JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x4D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4DC PUSH2 0x1083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x505 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x52A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x532 PUSH2 0x109C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x57F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x587 PUSH2 0x10C2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x5A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5B0 PUSH2 0x10C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x5FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x613 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x10EE JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x620 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x628 PUSH2 0x1154 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x675 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6AA PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x117A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6D8 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x7C2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x6E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6ED PUSH2 0x161A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x712 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x73E PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x163D JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x74B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x753 PUSH2 0x1795 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x778 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x780 PUSH2 0x1B39 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x7CD DUP3 PUSH2 0x1B5E JUMP JUMPDEST PUSH2 0x7E2 PUSH1 0xA SLOAD CALLVALUE PUSH2 0x1D47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 PUSH1 0xC PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x8D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x94E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x9B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9BC PUSH2 0xBB1 JUMP JUMPDEST ISZERO ISZERO ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0xD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0xE PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xA8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA96 PUSH2 0xBB1 JUMP JUMPDEST ISZERO ISZERO ISZERO PUSH2 0xAA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xB42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB4A PUSH2 0xBB1 JUMP JUMPDEST ISZERO ISZERO ISZERO PUSH2 0xB56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD TIMESTAMP GT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xC19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT ISZERO ISZERO PUSH2 0xC28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC30 PUSH2 0xBB1 JUMP JUMPDEST ISZERO ISZERO ISZERO PUSH2 0xC3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x7 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xCA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xCBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCC6 PUSH2 0x161A JUMP JUMPDEST ISZERO ISZERO PUSH2 0xCD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCD9 PUSH2 0x1D82 JUMP JUMPDEST PUSH32 0x6823B073D48D6E3A7D385EEB601452D680E74BB46AFE3255A7D778F3A9B17681 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 PUSH1 0x6 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xDB9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xDD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDEA PUSH1 0x4 SLOAD DUP5 PUSH2 0x1E3E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP2 POP PUSH2 0xE01 DUP3 PUSH1 0x5 SLOAD PUSH2 0x1E59 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 DUP6 DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0xED3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0xEE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP PUSH2 0xF04 PUSH1 0xA SLOAD DUP4 PUSH2 0x1D47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 PUSH1 0xC PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0xFF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1005 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18 DUP5 DUP7 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0xC PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x114A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0xD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x11DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0x11F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1220 PUSH1 0x4 SLOAD PUSH2 0x1212 DUP7 PUSH1 0xA SLOAD PUSH2 0x1D47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1E3E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP3 POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 PUSH1 0xC PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP PUSH2 0x1354 PUSH1 0x64 PUSH2 0x1346 DUP7 PUSH1 0xB SLOAD PUSH2 0x1D47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1E3E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP2 POP PUSH1 0xE PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6DC0A997 DUP7 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x141A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x142B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 ADDRESS DUP5 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x14FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x150B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP PUSH2 0x1529 DUP3 DUP6 PUSH2 0x1E77 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 DUP7 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x15F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x7 SLOAD PUSH1 0x5 SLOAD LT ISZERO SWAP1 POP PUSH2 0x162F PUSH2 0x1E90 JUMP JUMPDEST DUP1 PUSH2 0x1637 JUMPI POP DUP1 JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1699 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x16D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x17FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xE PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xF95E6306 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1899 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP ISZERO ISZERO PUSH2 0x18B2 JUMPI PUSH1 0x0 SWAP6 POP PUSH2 0x1B31 JUMP JUMPDEST PUSH1 0xE PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3A2960E1 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1940 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP SWAP5 POP PUSH1 0x0 SWAP4 POP JUMPDEST DUP5 DUP5 LT ISZERO PUSH2 0x1B2C JUMPI PUSH1 0xE PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6198E339 DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x60 ADD MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1A03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1A14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD DUP1 MLOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 POP DUP3 ISZERO PUSH2 0x1B1F JUMPI PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1B02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1B13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP JUMPDEST DUP4 DUP1 PUSH1 0x1 ADD SWAP5 POP POP PUSH2 0x1962 JUMP JUMPDEST PUSH1 0x1 SWAP6 POP JUMPDEST POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1B9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BA5 PUSH2 0x1E9C JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1BB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE SWAP2 POP PUSH2 0x1BC8 PUSH1 0x4 SLOAD DUP4 PUSH2 0x1D47 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x1BDF DUP3 PUSH1 0x5 SLOAD PUSH2 0x1E59 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 DUP5 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1CB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1CC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x1D42 PUSH2 0x20F0 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 EQ ISZERO PUSH2 0x1D5C JUMPI PUSH1 0x0 SWAP2 POP PUSH2 0x1D7B JUMP JUMPDEST DUP3 DUP5 MUL SWAP1 POP DUP3 DUP5 DUP3 DUP2 ISZERO ISZERO PUSH2 0x1D6D JUMPI INVALID JUMPDEST DIV EQ ISZERO ISZERO PUSH2 0x1D77 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7D64BCB4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1E0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1E20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP PUSH2 0x1E33 PUSH2 0x1795 JUMP JUMPDEST POP PUSH2 0x1E3C PUSH2 0x2154 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 DUP2 ISZERO ISZERO PUSH2 0x1E4C JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x1E6D JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1E85 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD TIMESTAMP GT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x7 SLOAD PUSH2 0x1EBD CALLVALUE PUSH1 0x5 SLOAD PUSH2 0x1E59 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST GT ISZERO SWAP5 POP PUSH1 0xD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFE9FBB80 CALLER PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x1F86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x1F97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP SWAP4 POP PUSH1 0x8 SLOAD CALLVALUE LT ISZERO SWAP3 POP PUSH2 0x209E PUSH1 0x4 SLOAD PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 CALLER PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x2075 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x2086 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP PUSH2 0x1E3E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP2 POP PUSH1 0x9 SLOAD PUSH2 0x20B6 DUP4 CALLVALUE PUSH2 0x1E59 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST GT ISZERO SWAP1 POP PUSH2 0x20C2 PUSH2 0x2156 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x20CB JUMPI POP DUP5 JUMPDEST DUP1 ISZERO PUSH2 0x20D4 JUMPI POP DUP4 JUMPDEST DUP1 ISZERO PUSH2 0x20DD JUMPI POP DUP3 JUMPDEST DUP1 ISZERO PUSH2 0x20E6 JUMPI POP DUP1 JUMPDEST SWAP6 POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO ISZERO PUSH2 0x2152 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x1 SLOAD TIMESTAMP LT ISZERO DUP1 ISZERO PUSH2 0x216F JUMPI POP PUSH1 0x2 SLOAD TIMESTAMP GT ISZERO JUMPDEST SWAP2 POP PUSH1 0x0 CALLVALUE EQ ISZERO SWAP1 POP DUP2 DUP1 ISZERO PUSH2 0x2182 JUMPI POP DUP1 JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xb9 SWAP15 0xa6 0xd1 PC 0xea 0xe4 BYTE 0xe5 SWAP15 DUP14 0xd5 0xe4 0xbd DUP5 0xe8 PUSH16 0xC835F65E55DDF1524578DCF6B6C9B500 0x29 ", + "srcmap" : "20501:7468:0:-;;;19893:5;19867:31;;;;;;;;;;;;;;;;;;;;21305:831;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21858:10;21870:8;21880:5;21887:7;17971:3;17957:10;:17;;17949:26;;;;;;;;18001:10;17989:8;:22;;17981:31;;;;;;;;18034:1;18026:5;:9;18018:18;;;;;;;;18069:1;18050:21;;:7;:21;;;;18042:30;;;;;;;;18087:21;:19;;;;;:21;;;:::i;:::-;18079:5;;:29;;;;;;;;;;;;;;;;;;18126:10;18114:9;:22;;;;18152:8;18142:7;:18;;;;18173:5;18166:4;:12;;;;18193:7;18184:6;;:16;;;;;;;;;;;;;;;;;;17847:358;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;21929:1;21922:4;:8;21914:17;;;;;;;;21961:3;21945:12;:19;;;;21937:28;;;;;;;;21977:4;21971:3;:10;;;;22005:7;21987:15;:25;;;;22036:7;22018:15;:25;;;;22061:10;22049:9;:22;;;;22089:10;22077:9;:22;;;;22119:12;22105:11;;:26;;;;;;;;;;;;;;;;;;21305:831;;;;;;;;;;20501:7468;;26718:202;26767:13;26912:1;26888:27;;26718:202;:::o;20501:7468::-;;;;;;;", + "srcmap-runtime" : "20501:7468:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18508:21;18518:10;18508:9;:21::i;:::-;20501:7468;26417:122;;;;;;;;;;;;;;;;;;;;;;;;;;25688:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;21260:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25893:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;26068:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;17421:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17282:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20638:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17480:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22431:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26242:128;;;;;;;;;;;;;;;;;;;;;;;;;;20069:157;;;;;;;;;;;;;;17348:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20967:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20879;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23094:507;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20788:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19867:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20707:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21057:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26578:90;;;;;;;;;;;;;;;;;;;;;;;;;;21154:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23854:805;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22632:361;;;;;;;;;;;;;;;;;;;;22239:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;24873:745;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17146:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22632:361;22836:20;22758:29;22774:12;22758:15;:29::i;:::-;22859:24;22873:9;;22859;:13;;:24;;;;:::i;:::-;22836:47;;22951:5;;;;;;;;;;;:10;;;22962:11;;;;;;;;;;;22975:12;22951:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22632:361;;:::o;26417:122::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;26515:19;26497:15;:37;;;;26417:122;:::o;25688:139::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;25779:12;:10;:12::i;:::-;25778:13;25770:22;;;;;;;;25811:11;25798:10;;:24;;;;;;;;;;;;;;;;;;25688:139;:::o;21260:23::-;;;;;;;;;;;;;:::o;25893:110::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;25963:12;:10;:12::i;:::-;25962:13;25954:22;;;;;;;;25991:7;25982:6;;:16;;;;;;;;;;;;;;;;;;25893:110;:::o;26068:105::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;26135:12;:10;:12::i;:::-;26134:13;26126:22;;;;;;;;26162:6;26154:5;;:14;;;;;;;;;;;;;;;;;;26068:105;:::o;17421:19::-;;;;:::o;17282:22::-;;;;:::o;20638:18::-;;;;:::o;17480:24::-;;;;:::o;22431:86::-;22478:4;22503:9;;22497:3;:15;22490:22;;22431:86;:::o;26242:128::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;26316:1;26306:7;:11;26298:20;;;;;;;;26333:12;:10;:12::i;:::-;26332:13;26324:22;;;;;;;;26358:7;26352:3;:13;;;;26242:128;:::o;20069:157::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;20121:11;;;;;;;;;;;20120:12;20112:21;;;;;;;;20147:10;:8;:10::i;:::-;20139:19;;;;;;;;20165:14;:12;:14::i;:::-;20185:11;;;;;;;;;;20217:4;20203:11;;:18;;;;;;;;;;;;;;;;;;20069:157::o;17348:21::-;;;;;;;;;;;;;:::o;20967:24::-;;;;:::o;20879:::-;;;;:::o;17254:::-;;;;:::o;23094:507::-;23228:18;23434:20;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;23189:11;;;;;;;;;;;23188:12;23180:21;;;;;;;;23249:17;23261:4;;23249:7;:11;;:17;;;;:::i;:::-;23228:38;;23284:25;23298:10;23284:9;;:13;;:25;;;;:::i;:::-;23272:9;:37;;;;23358:5;;;;;;;;;;;:10;;;23369:12;23383:7;23358:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23457:25;23472:9;;23457:10;:14;;:25;;;;:::i;:::-;23434:48;;23488:5;;;;;;;;;;;:10;;;23499:11;;;;;;;;;;;23512:12;23488:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23562:12;23536:60;;23550:10;23536:60;;;23576:10;23588:7;23536:60;;;;;;;;;;;;;;;;;;;;;;;;23094:507;;;;:::o;20788:30::-;;;;:::o;19867:31::-;;;;;;;;;;;;;:::o;291:20::-;;;;;;;;;;;;;:::o;20707:30::-;;;;:::o;21057:26::-;;;;;;;;;;;;;:::o;26578:90::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;26652:11;26642:7;:21;;;;26578:90;:::o;21154:40::-;;;;;;;;;;;;;:::o;23854:805::-;24009:20;24225:21;24565:18;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;23947:11;;;;;;;;;;;23946:12;23938:21;;;;;;;;24032:32;24059:4;;24032:22;24046:7;24032:9;;:13;;:22;;;;:::i;:::-;:26;;:32;;;;:::i;:::-;24009:55;;24127:5;;;;;;;;;;;:10;;;24138:11;;;;;;;;;;;24151:12;24127:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24249:31;24276:3;24249:22;24263:7;24249:9;;:13;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;24225:55;;24345:6;;;;;;;;;;;:21;;;24367:12;24381:13;24345:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24474:5;;;;;;;;;;;:10;;;24485:4;24491:13;24474:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24586:26;24598:13;24586:7;:11;;:26;;;;:::i;:::-;24565:47;;24618:5;;;;;;;;;;;:10;;;24629:12;24643:10;24618:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23854:805;;;;;:::o;22239:141::-;22284:4;22296:16;22328:3;;22315:9;;:16;;22296:35;;22344:16;:14;:16::i;:::-;:31;;;;22364:11;22344:31;22337:38;;22239:141;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;24873:745::-;24923:21;25195:20;25311:7;25403:13;25418:3;25423:7;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;25105:6;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25104:25;25100:49;;;25144:5;25137:12;;;;25100:49;25218:6;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25195:46;;25321:1;25311:11;;25306:290;25329:15;25324:2;:20;25306:290;;;25434:6;;;;;;;;;;;:13;;;25448:2;25434:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25398:53;;;;;;25528:13;25524:66;;;25553:5;;;;;;;;;;;:14;;;25568:3;25573:7;25553:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25524:66;25346:4;;;;;;;25306:290;;;25609:4;25602:11;;719:1;24873:745;;;;;;:::o;17146:26::-;;;;;;;;;;;;;:::o;18577:438::-;18709:17;18789:14;18669:1;18646:25;;:11;:25;;;;18638:34;;;;;;;;18686:15;:13;:15::i;:::-;18678:24;;;;;;;;18729:9;18709:29;;18806:19;18820:4;;18806:9;:13;;:19;;;;:::i;:::-;18789:36;;18864:24;18878:9;18864;;:13;;:24;;;;:::i;:::-;18852:9;:36;;;;18895:5;;;;;;;;;;;:10;;;18906:11;18919:6;18895:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18958:11;18932:57;;18946:10;18932:57;;;18971:9;18982:6;18932:57;;;;;;;;;;;;;;;;;;;;;;;;18996:14;:12;:14::i;:::-;18577:438;;;:::o;3688:173::-;3746:7;3801:9;3770:1;3765;:6;3761:35;;;3788:1;3781:8;;;;3761:35;3817:1;3813;:5;3801:17;;3840:1;3835;3831;:5;;;;;;;;:10;3824:18;;;;;;3855:1;3848:8;;3688:173;;;;;;:::o;27047:169::-;27105:5;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27170:14;:12;:14::i;:::-;;27191:20;:18;:20::i;:::-;27047:169::o;3865:265::-;3923:7;4012:9;4028:1;4024;:5;;;;;;;;4012:17;;4124:1;4117:8;;3865:265;;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;19506:78::-;19547:4;19572:7;;19566:3;:13;19559:20;;19506:78;:::o;27500:467::-;27552:4;27564:15;27619:18;27681:11;27729:27;27802:15;27610:3;;27582:24;27596:9;27582;;:13;;:24;;;;:::i;:::-;:31;;27564:49;;27640:10;;;;;;;;;;;:23;;;27664:10;27640:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27619:56;;27708:15;;27695:9;:28;;27681:42;;27759:37;27791:4;;27759:5;;;;;;;;;;;:15;;;27775:10;27759:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;:37;;;;:::i;:::-;27729:67;;27858:15;;27820:34;27834:19;27820:9;:13;;:34;;;;:::i;:::-;:53;;27802:71;;27886:21;:19;:21::i;:::-;:35;;;;;27911:10;27886:35;:52;;;;;27925:13;27886:52;:62;;;;;27942:6;27886:62;:76;;;;;27952:10;27886:76;27879:83;;27500:467;;;;;;:::o;19123:70::-;19162:6;;;;;;;;;;;:15;;:26;19178:9;19162:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19123:70::o;20422:38::-;:::o;19249:206::-;19297:4;19309:17;19369:20;19336:9;;19329:3;:16;;:34;;;;;19356:7;;19349:3;:14;;19329:34;19309:54;;19405:1;19392:9;:14;;19369:37;;19419:12;:31;;;;;19435:15;19419:31;19412:38;;19249:206;;;:::o;26718:202::-;26767:13;26912:1;26888:27;;26718:202;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:BRDCrowdsaleAuthorizer" : { + "abi" : "[{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorizer\",\"outputs\":[{\"name\":\"_isAuthorizer\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAuthorizer\",\"type\":\"address\"}],\"name\":\"addAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bannedAuthorizer\",\"type\":\"address\"}],\"name\":\"removeAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"authorizeAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorized\",\"outputs\":[{\"name\":\"_authorized\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"Authorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "MSTORE" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CODECOPY" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820f1c99ebafe26b5fe2609b8ef47bbc16da6fa56943f3648042fb6d9fdc6f72e470029", + ".code" : [ + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "MSTORE" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CALLDATASIZE" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "LT" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CALLDATALOAD" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "SWAP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DIV" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "AND" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "46E7CCAC" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "4A4666C1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "8B69759D" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "A9A8679B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "FE9FBB80" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPDEST" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "REVERT" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "CALLVALUE" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPI" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "REVERT" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "AND" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ADD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MLOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP3" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MSTORE" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ADD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MLOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SUB" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "RETURN" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "CALLVALUE" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "ISZERO" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPI" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "REVERT" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "CALLDATALOAD" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "AND" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "ADD" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP2" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "STOP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "CALLVALUE" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "ISZERO" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPI" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "REVERT" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "AND" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "ADD" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP2" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "CALLVALUE" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "ISZERO" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPI" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "REVERT" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "AND" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "ADD" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP2" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "STOP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "CALLVALUE" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPI" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "REVERT" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "AND" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ADD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MLOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP3" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MSTORE" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ADD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MLOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SUB" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "RETURN" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 3007, + "end" : 3025, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "DUP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SLOAD" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "EXP" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "DIV" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3050, + "name" : "CALLER" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "EQ" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "DUP1" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "JUMPI" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "POP" + }, + { + "begin" : 3088, + "end" : 3092, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3074, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3075, + "end" : 3083, + "name" : "DUP5" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DUP2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "MSTORE" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "ADD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DUP2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "MSTORE" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "ADD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "KECCAK256" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SLOAD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "EXP" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DIV" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "EQ" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "JUMPDEST" + }, + { + "begin" : 3033, + "end" : 3092, + "name" : "SWAP1" + }, + { + "begin" : 3033, + "end" : 3092, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2061, + "end" : 2065, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2031, + "end" : 2042, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2043, + "end" : 2057, + "name" : "DUP4" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "MSTORE" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "ADD" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "MSTORE" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "ADD" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "KECCAK256" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "EXP" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SLOAD" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "MUL" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "NOT" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP4" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "ISZERO" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "ISZERO" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "MUL" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "OR" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SSTORE" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2394, + "end" : 2405, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2406, + "end" : 2423, + "name" : "DUP3" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DUP2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "MSTORE" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "ADD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DUP2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "MSTORE" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "ADD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "KECCAK256" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SLOAD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "EXP" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DIV" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "ISZERO" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "ISZERO" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "JUMPI" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "DUP1" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "REVERT" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "JUMPDEST" + }, + { + "begin" : 2467, + "end" : 2478, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2479, + "end" : 2496, + "name" : "DUP3" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "MSTORE" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "ADD" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "MSTORE" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "ADD" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "KECCAK256" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "EXP" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SLOAD" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "MUL" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "NOT" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SSTORE" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2647, + "end" : 2665, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2666, + "end" : 2677, + "name" : "DUP3" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DUP2" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "MSTORE" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "ADD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DUP2" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "MSTORE" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "ADD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "KECCAK256" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SLOAD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "EXP" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DIV" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2646, + "end" : 2678, + "name" : "ISZERO" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "ISZERO" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "JUMPI" + }, + { + "begin" : 2790, + "end" : 2794, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2756, + "end" : 2774, + "name" : "DUP1" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2775, + "end" : 2786, + "name" : "DUP4" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "MSTORE" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "ADD" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "MSTORE" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "ADD" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "KECCAK256" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "EXP" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SLOAD" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "MUL" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "NOT" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP4" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "ISZERO" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "ISZERO" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "MUL" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "OR" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SSTORE" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "POP" + }, + { + "begin" : 2848, + "end" : 2859, + "name" : "DUP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "AND" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "DC84E3A4C83602050E3865DF792A4E6800211A79AC60DB94E703A820CE892924" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "MLOAD" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "MLOAD" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "DUP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SWAP2" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SUB" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SWAP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "LOG2" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3262, + "end" : 3278, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3325, + "end" : 3329, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3311, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3312, + "end" : 3320, + "name" : "DUP5" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DUP2" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "MSTORE" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "ADD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DUP2" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "MSTORE" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "ADD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "KECCAK256" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SLOAD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "EXP" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DIV" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "EQ" + }, + { + "begin" : 3286, + "end" : 3329, + "name" : "SWAP1" + }, + { + "begin" : 3286, + "end" : 3329, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061091d806100536000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a72305820f1c99ebafe26b5fe2609b8ef47bbc16da6fa56943f3648042fb6d9fdc6f72e470029", + "bin-runtime" : "606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a72305820f1c99ebafe26b5fe2609b8ef47bbc16da6fa56943f3648042fb6d9fdc6f72e470029", + "clone-bin" : "6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060338060516000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "addAuthorizer(address)" : "4a4666c1", + "authorizeAccount(address)" : "a9a8679b", + "isAuthorized(address)" : "fe9fbb80", + "isAuthorizer(address)" : "46e7ccac", + "owner()" : "8da5cb5b", + "removeAuthorizer(address)" : "8b69759d", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorizer\",\"outputs\":[{\"name\":\"_isAuthorizer\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAuthorizer\",\"type\":\"address\"}],\"name\":\"addAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bannedAuthorizer\",\"type\":\"address\"}],\"name\":\"removeAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"authorizeAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorized\",\"outputs\":[{\"name\":\"_authorized\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"Authorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"BRDCrowdsaleAuthorizer\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x91D DUP1 PUSH2 0x53 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x83 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x46E7CCAC EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0x4A4666C1 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0x8B69759D EQ PUSH2 0x112 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0xA9A8679B EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xFE9FBB80 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x263 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x110 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x317 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x11D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x421 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15E PUSH2 0x57A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D7 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x59F JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x1E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x210 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x73F JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x249 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x894 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x310 JUMPI POP PUSH1 0x1 ISZERO ISZERO PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x3BB JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x4C5 JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x528 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x643 JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x73C JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDC84E3A4C83602050E3865DF792A4E6800211A79AC60DB94E703A820CE892924 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x79A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x7D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 ISZERO ISZERO PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ SWAP1 POP SWAP2 SWAP1 POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 CALL 0xc9 SWAP15 0xba INVALID 0x26 0xb5 INVALID 0x26 MULMOD 0xb8 0xef 0x47 0xbb 0xc1 PUSH14 0xA6FA56943F3648042FB6D9FDC6F7 0x2e 0x47 STOP 0x29 ", + "srcmap" : "1376:2144:0:-;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;1376:2144;;;;;;", + "srcmap-runtime" : "1376:2144:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2942:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1893:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;2220:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:311;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;3197:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2942:155;3007:18;3054:5;;;;;;;;;;;3040:19;;:10;:19;;;:52;;;;3088:4;3063:29;;:11;:21;3075:8;3063:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3040:52;3033:59;;2942:155;;;:::o;1893:177::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2061:4;2031:11;:27;2043:14;2031:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1893:177;:::o;2220:282::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2394:11;:30;2406:17;2394:30;;;;;;;;;;;;;;;;;;;;;;;;;2386:39;;;;;;;;2467:11;:30;2479:17;2467:30;;;;;;;;;;;;;;;;2460:37;;;;;;;;;;;2220:282;:::o;291:20::-;;;;;;;;;;;;;:::o;2560:311::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2647:18;:31;2666:11;2647:31;;;;;;;;;;;;;;;;;;;;;;;;;2646:32;2642:225;;;2790:4;2756:18;:31;2775:11;2756:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;2848:11;2837:23;;;;;;;;;;;;2642:225;2560:311;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;3197:137::-;3262:16;3325:4;3293:36;;:18;:28;3312:8;3293:28;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3286:43;;3197:137;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:BRDLockup" : { + "abi" : "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allocations\",\"outputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"allocation\",\"type\":\"uint256\"},{\"name\":\"remainingBalance\",\"type\":\"uint256\"},{\"name\":\"currentInterval\",\"type\":\"uint256\"},{\"name\":\"currentReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"intervalDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentInterval\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numAllocations\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"name\":\"_shouldReward\",\"type\":\"bool\"},{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_rewardAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"unlockDate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"pushAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"allocationAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numIntervals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"processInterval\",\"outputs\":[{\"name\":\"_shouldProcessRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_crowdsaleEndDate\",\"type\":\"uint256\"},{\"name\":\"_numIntervals\",\"type\":\"uint256\"},{\"name\":\"_intervalDuration\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MSTORE" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "CALLVALUE" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "ISZERO" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "JUMPI" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "REVERT" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "JUMPDEST" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "MLOAD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSHSIZE" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP4" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "CODECOPY" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP2" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "ADD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "MSTORE" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "MLOAD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "ADD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP2" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "MLOAD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "ADD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP2" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "DUP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "MLOAD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "ADD" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP2" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "SWAP1" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "POP" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 6130, + "end" : 6147, + "name" : "DUP3" + }, + { + "begin" : 6117, + "end" : 6127, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6117, + "end" : 6147, + "name" : "DUP2" + }, + { + "begin" : 6117, + "end" : 6147, + "name" : "SWAP1" + }, + { + "begin" : 6117, + "end" : 6147, + "name" : "SSTORE" + }, + { + "begin" : 6117, + "end" : 6147, + "name" : "POP" + }, + { + "begin" : 6168, + "end" : 6181, + "name" : "DUP2" + }, + { + "begin" : 6153, + "end" : 6165, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6153, + "end" : 6181, + "name" : "DUP2" + }, + { + "begin" : 6153, + "end" : 6181, + "name" : "SWAP1" + }, + { + "begin" : 6153, + "end" : 6181, + "name" : "SSTORE" + }, + { + "begin" : 6153, + "end" : 6181, + "name" : "POP" + }, + { + "begin" : 6206, + "end" : 6223, + "name" : "DUP1" + }, + { + "begin" : 6187, + "end" : 6203, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6187, + "end" : 6223, + "name" : "DUP2" + }, + { + "begin" : 6187, + "end" : 6223, + "name" : "SWAP1" + }, + { + "begin" : 6187, + "end" : 6223, + "name" : "SSTORE" + }, + { + "begin" : 6187, + "end" : 6223, + "name" : "POP" + }, + { + "begin" : 6247, + "end" : 6248, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6229, + "end" : 6244, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6229, + "end" : 6248, + "name" : "DUP2" + }, + { + "begin" : 6229, + "end" : 6248, + "name" : "SWAP1" + }, + { + "begin" : 6229, + "end" : 6248, + "name" : "SSTORE" + }, + { + "begin" : 6229, + "end" : 6248, + "name" : "POP" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "POP" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "POP" + }, + { + "begin" : 6007, + "end" : 6253, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "CODECOPY" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a7230582016a606b296b2153668b63236b228a1ab5a4aea356cacc1fcac4d3ad2c19fffea0029", + ".code" : [ + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "CALLDATASIZE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "LT" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DIV" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "AND" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "A2642BF" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "3076DC42" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "363487BC" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "3A2960E1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "6198E339" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "69AC5721" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "6DC0A997" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "931DAB50" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "A31E88C2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "F95E6306" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EQ" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "REVERT" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPDEST" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "CALLVALUE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ISZERO" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPI" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "REVERT" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPDEST" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPDEST" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP7" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "AND" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "AND" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP6" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP5" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP4" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP3" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP6" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SUB" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "RETURN" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMPDEST" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "CALLVALUE" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "ISZERO" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMPI" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP1" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "REVERT" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMPDEST" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMP" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMPDEST" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "MLOAD" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP1" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP3" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP2" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "MSTORE" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "ADD" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "SWAP2" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "POP" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "POP" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "MLOAD" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP1" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "SWAP2" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "SUB" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "SWAP1" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "RETURN" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMPDEST" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "CALLVALUE" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "ISZERO" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMPI" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP1" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "REVERT" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMPDEST" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMP" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMPDEST" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "MLOAD" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP1" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP3" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP2" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "MSTORE" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "ADD" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "SWAP2" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "POP" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "POP" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "MLOAD" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP1" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "SWAP2" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "SUB" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "SWAP1" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "RETURN" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMPDEST" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "CALLVALUE" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "ISZERO" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMPI" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "DUP1" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "REVERT" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMPDEST" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMP" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMPDEST" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "MLOAD" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "DUP1" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "DUP3" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "DUP2" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "MSTORE" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "ADD" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "SWAP2" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "POP" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "POP" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "MLOAD" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "DUP1" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "SWAP2" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "SUB" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "SWAP1" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "RETURN" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMPDEST" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "CALLVALUE" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ISZERO" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMPI" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "REVERT" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMPDEST" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "CALLDATALOAD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ADD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMPDEST" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "MLOAD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP5" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ISZERO" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ISZERO" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ISZERO" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ISZERO" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "MSTORE" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ADD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP4" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "AND" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "AND" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "MSTORE" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ADD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP3" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "MSTORE" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "ADD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP4" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "MLOAD" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "DUP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SUB" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "RETURN" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMPDEST" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "CALLVALUE" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "ISZERO" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMPI" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP1" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "REVERT" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMPDEST" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMP" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMPDEST" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "MLOAD" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP1" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP3" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP2" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "MSTORE" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "ADD" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "SWAP2" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "POP" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "POP" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "MLOAD" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP1" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "SWAP2" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "SUB" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "SWAP1" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "RETURN" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMPDEST" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "CALLVALUE" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "ISZERO" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMPI" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "DUP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "REVERT" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMPDEST" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "DUP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "DUP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "AND" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "ADD" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP2" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "DUP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "ADD" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP2" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "SWAP1" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "POP" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "POP" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMP" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMPDEST" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMPDEST" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "CALLVALUE" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "ISZERO" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMPI" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "REVERT" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMPDEST" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "CALLDATALOAD" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "ADD" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP2" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMPDEST" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "MLOAD" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP3" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP2" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "MSTORE" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "ADD" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP2" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "MLOAD" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "DUP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP2" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SUB" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "RETURN" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMPDEST" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "CALLVALUE" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "ISZERO" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMPI" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP1" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "REVERT" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMPDEST" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMP" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMPDEST" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "MLOAD" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP1" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP3" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP2" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "MSTORE" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "ADD" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "SWAP2" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "POP" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "POP" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "MLOAD" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP1" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "SWAP2" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "SUB" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "SWAP1" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMPDEST" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "CALLVALUE" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ISZERO" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMPI" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "DUP1" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "REVERT" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMPDEST" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMPDEST" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "MLOAD" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "DUP1" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "DUP3" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ISZERO" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ISZERO" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ISZERO" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ISZERO" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "DUP2" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "MSTORE" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "ADD" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "SWAP2" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "MLOAD" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "DUP1" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "SWAP2" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "SUB" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "SWAP1" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "RETURN" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPDEST" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "LT" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ISZERO" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ISZERO" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPI" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "INVALID" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMPDEST" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MSTORE" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "KECCAK256" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "MUL" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "EXP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DIV" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "AND" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "ADD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SLOAD" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "SWAP1" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "POP" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "DUP6" + }, + { + "begin" : 5457, + "end" : 5488, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMPDEST" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "SLOAD" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "DUP2" + }, + { + "begin" : 5698, + "end" : 5729, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMPDEST" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "SLOAD" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "DUP2" + }, + { + "begin" : 5607, + "end" : 5637, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMPDEST" + }, + { + "begin" : 7642, + "end" : 7646, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7661, + "end" : 7672, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7661, + "end" : 7679, + "name" : "DUP1" + }, + { + "begin" : 7661, + "end" : 7679, + "name" : "SLOAD" + }, + { + "begin" : 7661, + "end" : 7679, + "name" : "SWAP1" + }, + { + "begin" : 7661, + "end" : 7679, + "name" : "POP" + }, + { + "begin" : 7654, + "end" : 7679, + "name" : "SWAP1" + }, + { + "begin" : 7654, + "end" : 7679, + "name" : "POP" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "SWAP1" + }, + { + "begin" : 7591, + "end" : 7684, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMPDEST" + }, + { + "begin" : 7962, + "end" : 7980, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7982, + "end" : 8002, + "name" : "DUP1" + }, + { + "begin" : 8004, + "end" : 8025, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 8152, + "end" : 8167, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8152, + "end" : 8167, + "name" : "SLOAD" + }, + { + "begin" : 8114, + "end" : 8125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8126, + "end" : 8132, + "name" : "DUP6" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "DUP2" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "SLOAD" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "DUP2" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "LT" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "ISZERO" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "ISZERO" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "JUMPI" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "INVALID" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "JUMPDEST" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "SWAP1" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "MSTORE" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "KECCAK256" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "SWAP1" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "MUL" + }, + { + "begin" : 8114, + "end" : 8133, + "name" : "ADD" + }, + { + "begin" : 8114, + "end" : 8149, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8114, + "end" : 8149, + "name" : "ADD" + }, + { + "begin" : 8114, + "end" : 8149, + "name" : "SLOAD" + }, + { + "begin" : 8114, + "end" : 8167, + "name" : "LT" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "ISZERO" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "JUMPI" + }, + { + "begin" : 8280, + "end" : 8295, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8280, + "end" : 8295, + "name" : "SLOAD" + }, + { + "begin" : 8242, + "end" : 8253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8254, + "end" : 8260, + "name" : "DUP6" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "DUP2" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "SLOAD" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "DUP2" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "LT" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "ISZERO" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "ISZERO" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "JUMPI" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "INVALID" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "JUMPDEST" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "SWAP1" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "MSTORE" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "KECCAK256" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "SWAP1" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "MUL" + }, + { + "begin" : 8242, + "end" : 8261, + "name" : "ADD" + }, + { + "begin" : 8242, + "end" : 8277, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8242, + "end" : 8277, + "name" : "ADD" + }, + { + "begin" : 8242, + "end" : 8295, + "name" : "DUP2" + }, + { + "begin" : 8242, + "end" : 8295, + "name" : "SWAP1" + }, + { + "begin" : 8242, + "end" : 8295, + "name" : "SSTORE" + }, + { + "begin" : 8242, + "end" : 8295, + "name" : "POP" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 8441, + "end" : 8452, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8453, + "end" : 8459, + "name" : "DUP6" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "DUP2" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "SLOAD" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "DUP2" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "LT" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "ISZERO" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "ISZERO" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "JUMPI" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "INVALID" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "JUMPDEST" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "SWAP1" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "MSTORE" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "KECCAK256" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "SWAP1" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "MUL" + }, + { + "begin" : 8441, + "end" : 8460, + "name" : "ADD" + }, + { + "begin" : 8441, + "end" : 8474, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8441, + "end" : 8474, + "name" : "ADD" + }, + { + "begin" : 8441, + "end" : 8474, + "name" : "SLOAD" + }, + { + "begin" : 8400, + "end" : 8411, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8412, + "end" : 8418, + "name" : "DUP7" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "DUP2" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "SLOAD" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "DUP2" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "LT" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "ISZERO" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "ISZERO" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "JUMPI" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "INVALID" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "tag", + "value" : "64" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "JUMPDEST" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "SWAP1" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "MSTORE" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "KECCAK256" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "SWAP1" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "MUL" + }, + { + "begin" : 8400, + "end" : 8419, + "name" : "ADD" + }, + { + "begin" : 8400, + "end" : 8436, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8400, + "end" : 8436, + "name" : "ADD" + }, + { + "begin" : 8400, + "end" : 8436, + "name" : "SLOAD" + }, + { + "begin" : 8400, + "end" : 8440, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 8400, + "end" : 8440, + "name" : "SWAP1" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "SWAP2" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "SWAP1" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "AND" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 8400, + "end" : 8475, + "name" : "JUMPDEST" + }, + { + "begin" : 8361, + "end" : 8372, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8373, + "end" : 8379, + "name" : "DUP6" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "DUP2" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "SLOAD" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "DUP2" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "LT" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "ISZERO" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "ISZERO" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "JUMPI" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "INVALID" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "JUMPDEST" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "SWAP1" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "MSTORE" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "KECCAK256" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "SWAP1" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "MUL" + }, + { + "begin" : 8361, + "end" : 8380, + "name" : "ADD" + }, + { + "begin" : 8361, + "end" : 8397, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8361, + "end" : 8397, + "name" : "ADD" + }, + { + "begin" : 8361, + "end" : 8475, + "name" : "DUP2" + }, + { + "begin" : 8361, + "end" : 8475, + "name" : "SWAP1" + }, + { + "begin" : 8361, + "end" : 8475, + "name" : "SSTORE" + }, + { + "begin" : 8361, + "end" : 8475, + "name" : "POP" + }, + { + "begin" : 8510, + "end" : 8521, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8522, + "end" : 8528, + "name" : "DUP5" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "DUP2" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "SLOAD" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "DUP2" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "LT" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "ISZERO" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "ISZERO" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "JUMPI" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "INVALID" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "JUMPDEST" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "SWAP1" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "MSTORE" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "KECCAK256" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "SWAP1" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "MUL" + }, + { + "begin" : 8510, + "end" : 8529, + "name" : "ADD" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "ADD" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "SWAP1" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "SLOAD" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "SWAP1" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "EXP" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "SWAP1" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "DIV" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8510, + "end" : 8541, + "name" : "AND" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "AND" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "PUSH", + "value" : "6381D9813CABEB57471B5A7E05078E64845CCDB563146A6911D536F24CE960F1" + }, + { + "begin" : 8543, + "end" : 8554, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8555, + "end" : 8561, + "name" : "DUP7" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "DUP2" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "SLOAD" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "DUP2" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "LT" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "ISZERO" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "ISZERO" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "PUSH [tag]", + "value" : "71" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "JUMPI" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "INVALID" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "tag", + "value" : "71" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "JUMPDEST" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "SWAP1" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "MSTORE" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "KECCAK256" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "SWAP1" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "MUL" + }, + { + "begin" : 8543, + "end" : 8562, + "name" : "ADD" + }, + { + "begin" : 8543, + "end" : 8576, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8543, + "end" : 8576, + "name" : "ADD" + }, + { + "begin" : 8543, + "end" : 8576, + "name" : "SLOAD" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "MLOAD" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "DUP1" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "DUP3" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "DUP2" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "MSTORE" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "ADD" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "SWAP2" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "POP" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "POP" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "MLOAD" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "DUP1" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "SWAP2" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "SUB" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "SWAP1" + }, + { + "begin" : 8503, + "end" : 8577, + "name" : "LOG2" + }, + { + "begin" : 8623, + "end" : 8627, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8607, + "end" : 8627, + "name" : "SWAP3" + }, + { + "begin" : 8607, + "end" : 8627, + "name" : "POP" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "JUMP" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "JUMPDEST" + }, + { + "begin" : 8686, + "end" : 8691, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8670, + "end" : 8691, + "name" : "SWAP3" + }, + { + "begin" : 8670, + "end" : 8691, + "name" : "POP" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 8110, + "end" : 8698, + "name" : "JUMPDEST" + }, + { + "begin" : 8741, + "end" : 8752, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8753, + "end" : 8759, + "name" : "DUP5" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "DUP2" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "SLOAD" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "DUP2" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "LT" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "ISZERO" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "ISZERO" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "JUMPI" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "INVALID" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "JUMPDEST" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "SWAP1" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "MSTORE" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "KECCAK256" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "SWAP1" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "MUL" + }, + { + "begin" : 8741, + "end" : 8760, + "name" : "ADD" + }, + { + "begin" : 8741, + "end" : 8774, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8741, + "end" : 8774, + "name" : "ADD" + }, + { + "begin" : 8741, + "end" : 8774, + "name" : "SLOAD" + }, + { + "begin" : 8725, + "end" : 8774, + "name" : "SWAP1" + }, + { + "begin" : 8725, + "end" : 8774, + "name" : "POP" + }, + { + "begin" : 8795, + "end" : 8806, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8807, + "end" : 8813, + "name" : "DUP5" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "DUP2" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "SLOAD" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "DUP2" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "LT" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "ISZERO" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "ISZERO" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "PUSH [tag]", + "value" : "76" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "JUMPI" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "INVALID" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "tag", + "value" : "76" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "JUMPDEST" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "SWAP1" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "MSTORE" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "KECCAK256" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "SWAP1" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "MUL" + }, + { + "begin" : 8795, + "end" : 8814, + "name" : "ADD" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "ADD" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "SWAP1" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "SLOAD" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "SWAP1" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "EXP" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "SWAP1" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "DIV" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8795, + "end" : 8826, + "name" : "AND" + }, + { + "begin" : 8780, + "end" : 8826, + "name" : "SWAP2" + }, + { + "begin" : 8780, + "end" : 8826, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP2" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP4" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP1" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "SWAP3" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "POP" + }, + { + "begin" : 7907, + "end" : 8831, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMPDEST" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "SLOAD" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "DUP2" + }, + { + "begin" : 5544, + "end" : 5569, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 8978, + "end" : 8988, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8978, + "end" : 8988, + "name" : "SLOAD" + }, + { + "begin" : 8972, + "end" : 8975, + "name" : "TIMESTAMP" + }, + { + "begin" : 8972, + "end" : 8988, + "name" : "LT" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "ISZERO" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "ISZERO" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "PUSH [tag]", + "value" : "81" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "JUMPI" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "DUP1" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "REVERT" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "tag", + "value" : "81" + }, + { + "begin" : 8964, + "end" : 8989, + "name" : "JUMPDEST" + }, + { + "begin" : 8995, + "end" : 9006, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "JUMPDEST" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "KECCAK256" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MUL" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "A0" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MLOAD" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "SWAP1" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "ADD" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP1" + }, + { + "begin" : 9039, + "end" : 9051, + "name" : "DUP7" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "AND" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "ADD" + }, + { + "begin" : 9061, + "end" : 9071, + "name" : "DUP6" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "ADD" + }, + { + "begin" : 9081, + "end" : 9091, + "name" : "DUP6" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "ADD" + }, + { + "begin" : 9101, + "end" : 9102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "ADD" + }, + { + "begin" : 9112, + "end" : 9113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "DUP2" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "MSTORE" + }, + { + "begin" : 9019, + "end" : 9121, + "name" : "POP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "POP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "EXP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MUL" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "NOT" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "AND" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP4" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "AND" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MUL" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "OR" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SWAP1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "POP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "80" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP3" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "MLOAD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "DUP2" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "ADD" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "SSTORE" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "POP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "POP" + }, + { + "begin" : 8995, + "end" : 9127, + "name" : "POP" + }, + { + "begin" : 9138, + "end" : 9150, + "name" : "DUP2" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "AND" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "PUSH", + "value" : "625FED9875DADA8643F2418B838AE0BC78D9A148A18EEE4EE1979FF0F3F5D427" + }, + { + "begin" : 9152, + "end" : 9162, + "name" : "DUP3" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "MLOAD" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "DUP1" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "DUP3" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "DUP2" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "MSTORE" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "ADD" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "SWAP2" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "POP" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "POP" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "MLOAD" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "DUP1" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "SWAP2" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "SUB" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "SWAP1" + }, + { + "begin" : 9133, + "end" : 9163, + "name" : "LOG2" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "POP" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "POP" + }, + { + "begin" : 8875, + "end" : 9168, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMPDEST" + }, + { + "begin" : 7806, + "end" : 7813, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7828, + "end" : 7839, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7840, + "end" : 7846, + "name" : "DUP3" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "DUP2" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "SLOAD" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "DUP2" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "LT" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "ISZERO" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "ISZERO" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "PUSH [tag]", + "value" : "86" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "JUMPI" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "INVALID" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "tag", + "value" : "86" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "JUMPDEST" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "SWAP1" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "MSTORE" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "KECCAK256" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "SWAP1" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "MUL" + }, + { + "begin" : 7828, + "end" : 7847, + "name" : "ADD" + }, + { + "begin" : 7828, + "end" : 7858, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7828, + "end" : 7858, + "name" : "ADD" + }, + { + "begin" : 7828, + "end" : 7858, + "name" : "SLOAD" + }, + { + "begin" : 7821, + "end" : 7858, + "name" : "SWAP1" + }, + { + "begin" : 7821, + "end" : 7858, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP2" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "SWAP1" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "POP" + }, + { + "begin" : 7742, + "end" : 7863, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMPDEST" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "SLOAD" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "DUP2" + }, + { + "begin" : 5790, + "end" : 5817, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "89" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "91" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "91" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMPDEST" + }, + { + "begin" : 6364, + "end" : 6390, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6441, + "end" : 6462, + "name" : "DUP1" + }, + { + "begin" : 6551, + "end" : 6570, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6811, + "end" : 6833, + "name" : "DUP1" + }, + { + "begin" : 6903, + "end" : 6910, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7014, + "end" : 7037, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "93" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "93" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 6472, + "end" : 6482, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6472, + "end" : 6482, + "name" : "SLOAD" + }, + { + "begin" : 6465, + "end" : 6468, + "name" : "TIMESTAMP" + }, + { + "begin" : 6465, + "end" : 6482, + "name" : "LT" + }, + { + "begin" : 6465, + "end" : 6482, + "name" : "ISZERO" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "DUP1" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "ISZERO" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "JUMPI" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "POP" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 6528, + "end" : 6544, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6528, + "end" : 6544, + "name" : "SLOAD" + }, + { + "begin" : 6508, + "end" : 6523, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6508, + "end" : 6523, + "name" : "SLOAD" + }, + { + "begin" : 6508, + "end" : 6527, + "name" : "PUSH [tag]", + "value" : "97" + }, + { + "begin" : 6508, + "end" : 6527, + "name" : "SWAP1" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "SWAP2" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "SWAP1" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "AND" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 6508, + "end" : 6545, + "name" : "JUMPDEST" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "PUSH [tag]", + "value" : "98" + }, + { + "begin" : 6494, + "end" : 6504, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6494, + "end" : 6504, + "name" : "SLOAD" + }, + { + "begin" : 6486, + "end" : 6489, + "name" : "TIMESTAMP" + }, + { + "begin" : 6486, + "end" : 6493, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 6486, + "end" : 6493, + "name" : "SWAP1" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "SWAP2" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "SWAP1" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "AND" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "tag", + "value" : "98" + }, + { + "begin" : 6486, + "end" : 6505, + "name" : "JUMPDEST" + }, + { + "begin" : 6486, + "end" : 6545, + "name" : "GT" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "tag", + "value" : "95" + }, + { + "begin" : 6465, + "end" : 6545, + "name" : "JUMPDEST" + }, + { + "begin" : 6441, + "end" : 6545, + "name" : "SWAP5" + }, + { + "begin" : 6441, + "end" : 6545, + "name" : "POP" + }, + { + "begin" : 6591, + "end" : 6603, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6591, + "end" : 6603, + "name" : "SLOAD" + }, + { + "begin" : 6573, + "end" : 6588, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6573, + "end" : 6588, + "name" : "SLOAD" + }, + { + "begin" : 6573, + "end" : 6603, + "name" : "LT" + }, + { + "begin" : 6551, + "end" : 6603, + "name" : "SWAP4" + }, + { + "begin" : 6551, + "end" : 6603, + "name" : "POP" + }, + { + "begin" : 6614, + "end" : 6630, + "name" : "DUP5" + }, + { + "begin" : 6613, + "end" : 6630, + "name" : "ISZERO" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "DUP1" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "PUSH [tag]", + "value" : "99" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "JUMPI" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "POP" + }, + { + "begin" : 6635, + "end" : 6649, + "name" : "DUP4" + }, + { + "begin" : 6634, + "end" : 6649, + "name" : "ISZERO" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "tag", + "value" : "99" + }, + { + "begin" : 6613, + "end" : 6649, + "name" : "JUMPDEST" + }, + { + "begin" : 6609, + "end" : 6669, + "name" : "ISZERO" + }, + { + "begin" : 6609, + "end" : 6669, + "name" : "PUSH [tag]", + "value" : "100" + }, + { + "begin" : 6609, + "end" : 6669, + "name" : "JUMPI" + }, + { + "begin" : 6664, + "end" : 6669, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6657, + "end" : 6669, + "name" : "SWAP6" + }, + { + "begin" : 6657, + "end" : 6669, + "name" : "POP" + }, + { + "begin" : 6657, + "end" : 6669, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 6657, + "end" : 6669, + "name" : "JUMP" + }, + { + "begin" : 6609, + "end" : 6669, + "name" : "tag", + "value" : "100" + }, + { + "begin" : 6609, + "end" : 6669, + "name" : "JUMPDEST" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "PUSH [tag]", + "value" : "101" + }, + { + "begin" : 6750, + "end" : 6751, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6730, + "end" : 6745, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6730, + "end" : 6745, + "name" : "SLOAD" + }, + { + "begin" : 6730, + "end" : 6749, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 6730, + "end" : 6749, + "name" : "SWAP1" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "SWAP2" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "SWAP1" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "AND" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "tag", + "value" : "101" + }, + { + "begin" : 6730, + "end" : 6752, + "name" : "JUMPDEST" + }, + { + "begin" : 6712, + "end" : 6727, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6712, + "end" : 6752, + "name" : "DUP2" + }, + { + "begin" : 6712, + "end" : 6752, + "name" : "SWAP1" + }, + { + "begin" : 6712, + "end" : 6752, + "name" : "SSTORE" + }, + { + "begin" : 6712, + "end" : 6752, + "name" : "POP" + }, + { + "begin" : 6836, + "end" : 6847, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6836, + "end" : 6854, + "name" : "DUP1" + }, + { + "begin" : 6836, + "end" : 6854, + "name" : "SLOAD" + }, + { + "begin" : 6836, + "end" : 6854, + "name" : "SWAP1" + }, + { + "begin" : 6836, + "end" : 6854, + "name" : "POP" + }, + { + "begin" : 6811, + "end" : 6854, + "name" : "SWAP3" + }, + { + "begin" : 6811, + "end" : 6854, + "name" : "POP" + }, + { + "begin" : 6913, + "end" : 6914, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6903, + "end" : 6914, + "name" : "SWAP2" + }, + { + "begin" : 6903, + "end" : 6914, + "name" : "POP" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "tag", + "value" : "103" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "JUMPDEST" + }, + { + "begin" : 6921, + "end" : 6938, + "name" : "DUP3" + }, + { + "begin" : 6916, + "end" : 6918, + "name" : "DUP3" + }, + { + "begin" : 6916, + "end" : 6938, + "name" : "LT" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "ISZERO" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "PUSH [tag]", + "value" : "104" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "JUMPI" + }, + { + "begin" : 7160, + "end" : 7172, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7160, + "end" : 7172, + "name" : "SLOAD" + }, + { + "begin" : 7141, + "end" : 7156, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7141, + "end" : 7156, + "name" : "SLOAD" + }, + { + "begin" : 7141, + "end" : 7172, + "name" : "EQ" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "ISZERO" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "PUSH [tag]", + "value" : "106" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "JUMPI" + }, + { + "begin" : 7202, + "end" : 7213, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7214, + "end" : 7216, + "name" : "DUP3" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "DUP2" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "SLOAD" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "DUP2" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "LT" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "ISZERO" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "ISZERO" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "PUSH [tag]", + "value" : "107" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "JUMPI" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "INVALID" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "tag", + "value" : "107" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "JUMPDEST" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "SWAP1" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "MSTORE" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "KECCAK256" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "SWAP1" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "MUL" + }, + { + "begin" : 7202, + "end" : 7217, + "name" : "ADD" + }, + { + "begin" : 7202, + "end" : 7234, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7202, + "end" : 7234, + "name" : "ADD" + }, + { + "begin" : 7202, + "end" : 7234, + "name" : "SLOAD" + }, + { + "begin" : 7184, + "end" : 7234, + "name" : "SWAP1" + }, + { + "begin" : 7184, + "end" : 7234, + "name" : "POP" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "PUSH [tag]", + "value" : "109" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "JUMP" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "tag", + "value" : "106" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "JUMPDEST" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "PUSH [tag]", + "value" : "110" + }, + { + "begin" : 7406, + "end" : 7418, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7406, + "end" : 7418, + "name" : "SLOAD" + }, + { + "begin" : 7375, + "end" : 7386, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7387, + "end" : 7389, + "name" : "DUP5" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "DUP2" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "SLOAD" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "DUP2" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "LT" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "ISZERO" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "ISZERO" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "PUSH [tag]", + "value" : "111" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "JUMPI" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "INVALID" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "tag", + "value" : "111" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "JUMPDEST" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "SWAP1" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "MSTORE" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "KECCAK256" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "SWAP1" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "MUL" + }, + { + "begin" : 7375, + "end" : 7390, + "name" : "ADD" + }, + { + "begin" : 7375, + "end" : 7401, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7375, + "end" : 7401, + "name" : "ADD" + }, + { + "begin" : 7375, + "end" : 7401, + "name" : "SLOAD" + }, + { + "begin" : 7375, + "end" : 7405, + "name" : "PUSH [tag]", + "value" : "113" + }, + { + "begin" : 7375, + "end" : 7405, + "name" : "SWAP1" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "SWAP2" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "SWAP1" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "AND" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "tag", + "value" : "110" + }, + { + "begin" : 7375, + "end" : 7419, + "name" : "JUMPDEST" + }, + { + "begin" : 7357, + "end" : 7419, + "name" : "SWAP1" + }, + { + "begin" : 7357, + "end" : 7419, + "name" : "POP" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "tag", + "value" : "109" + }, + { + "begin" : 7137, + "end" : 7428, + "name" : "JUMPDEST" + }, + { + "begin" : 7506, + "end" : 7521, + "name" : "DUP1" + }, + { + "begin" : 7474, + "end" : 7485, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7486, + "end" : 7488, + "name" : "DUP4" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "DUP2" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "SLOAD" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "DUP2" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "LT" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "ISZERO" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "ISZERO" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "JUMPI" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "INVALID" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "tag", + "value" : "114" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "JUMPDEST" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "SWAP1" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "MSTORE" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "KECCAK256" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "SWAP1" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "MUL" + }, + { + "begin" : 7474, + "end" : 7489, + "name" : "ADD" + }, + { + "begin" : 7474, + "end" : 7503, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 7474, + "end" : 7503, + "name" : "ADD" + }, + { + "begin" : 7474, + "end" : 7521, + "name" : "DUP2" + }, + { + "begin" : 7474, + "end" : 7521, + "name" : "SWAP1" + }, + { + "begin" : 7474, + "end" : 7521, + "name" : "SSTORE" + }, + { + "begin" : 7474, + "end" : 7521, + "name" : "POP" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "DUP2" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "DUP1" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "ADD" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "SWAP3" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "POP" + }, + { + "begin" : 6940, + "end" : 6944, + "name" : "POP" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "PUSH [tag]", + "value" : "103" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "JUMP" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "tag", + "value" : "104" + }, + { + "begin" : 6898, + "end" : 7528, + "name" : "JUMPDEST" + }, + { + "begin" : 7541, + "end" : 7545, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7534, + "end" : 7545, + "name" : "SWAP6" + }, + { + "begin" : 7534, + "end" : 7545, + "name" : "POP" + }, + { + "begin" : 719, + "end" : 720, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 719, + "end" : 720, + "name" : "JUMPDEST" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "POP" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "SWAP1" + }, + { + "begin" : 6311, + "end" : 7550, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "66" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "117" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "117" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "97" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3746, + "end" : 3753, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3801, + "end" : 3810, + "name" : "DUP1" + }, + { + "begin" : 3770, + "end" : 3771, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3765, + "end" : 3766, + "name" : "DUP5" + }, + { + "begin" : 3765, + "end" : 3771, + "name" : "EQ" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "ISZERO" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "PUSH [tag]", + "value" : "119" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPI" + }, + { + "begin" : 3788, + "end" : 3789, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "SWAP2" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "POP" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "PUSH [tag]", + "value" : "118" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "JUMP" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "tag", + "value" : "119" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPDEST" + }, + { + "begin" : 3817, + "end" : 3818, + "name" : "DUP3" + }, + { + "begin" : 3813, + "end" : 3814, + "name" : "DUP5" + }, + { + "begin" : 3813, + "end" : 3818, + "name" : "MUL" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "SWAP1" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "POP" + }, + { + "begin" : 3840, + "end" : 3841, + "name" : "DUP3" + }, + { + "begin" : 3835, + "end" : 3836, + "name" : "DUP5" + }, + { + "begin" : 3831, + "end" : 3832, + "name" : "DUP3" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DUP2" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPI" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "INVALID" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "tag", + "value" : "120" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPDEST" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DIV" + }, + { + "begin" : 3831, + "end" : 3841, + "name" : "EQ" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "PUSH [tag]", + "value" : "121" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPI" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "INVALID" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "tag", + "value" : "121" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPDEST" + }, + { + "begin" : 3855, + "end" : 3856, + "name" : "DUP1" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "SWAP2" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "118" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP3" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP2" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "102" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "123" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "123" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "tag", + "value" : "113" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "JUMPDEST" + }, + { + "begin" : 3923, + "end" : 3930, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4012, + "end" : 4021, + "name" : "DUP1" + }, + { + "begin" : 4028, + "end" : 4029, + "name" : "DUP3" + }, + { + "begin" : 4024, + "end" : 4025, + "name" : "DUP5" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "DUP2" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "ISZERO" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "ISZERO" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "PUSH [tag]", + "value" : "125" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "JUMPI" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "INVALID" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "tag", + "value" : "125" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "JUMPDEST" + }, + { + "begin" : 4024, + "end" : 4029, + "name" : "DIV" + }, + { + "begin" : 4012, + "end" : 4029, + "name" : "SWAP1" + }, + { + "begin" : 4012, + "end" : 4029, + "name" : "POP" + }, + { + "begin" : 4124, + "end" : 4125, + "name" : "DUP1" + }, + { + "begin" : 4117, + "end" : 4125, + "name" : "SWAP2" + }, + { + "begin" : 4117, + "end" : 4125, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "SWAP3" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "SWAP2" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "POP" + }, + { + "begin" : 3865, + "end" : 4130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SLOAD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP4" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ISZERO" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "GT" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "126" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MUL" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MUL" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP4" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "KECCAK256" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "127" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "127" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "126" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "128" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "129" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "130" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "GT" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ISZERO" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "131" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPI" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "EXP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SLOAD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "MUL" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "NOT" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "AND" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "DUP3" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SSTORE" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "ADD" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "PUSH [tag]", + "value" : "130" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "131" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "POP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMP" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "tag", + "value" : "129" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMPDEST" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "SWAP1" + }, + { + "begin" : 4905, + "end" : 9170, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b604051606080610d6783398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260028190555081600581905550806004819055506000600381905550505050610cbb806100ac6000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a7230582016a606b296b2153668b63236b228a1ab5a4aea356cacc1fcac4d3ad2c19fffea0029", + "bin-runtime" : "6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a7230582016a606b296b2153668b63236b228a1ab5a4aea356cacc1fcac4d3ad2c19fffea0029", + "clone-bin" : "6060604052341561000f57600080fd5b6040516060806100de83398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816005819055508060048190555060006003819055505050506033806100ab6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "allocationAmount(uint256)" : "931dab50", + "allocations(uint256)" : "0a2642bf", + "currentInterval()" : "363487bc", + "intervalDuration()" : "3076dc42", + "numAllocations()" : "3a2960e1", + "numIntervals()" : "a31e88c2", + "owner()" : "8da5cb5b", + "processInterval()" : "f95e6306", + "pushAllocation(address,uint256)" : "6dc0a997", + "transferOwnership(address)" : "f2fde38b", + "unlock(uint256)" : "6198e339", + "unlockDate()" : "69ac5721" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allocations\",\"outputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"allocation\",\"type\":\"uint256\"},{\"name\":\"remainingBalance\",\"type\":\"uint256\"},{\"name\":\"currentInterval\",\"type\":\"uint256\"},{\"name\":\"currentReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"intervalDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentInterval\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numAllocations\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"name\":\"_shouldReward\",\"type\":\"bool\"},{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_rewardAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"unlockDate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"pushAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"allocationAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numIntervals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"processInterval\",\"outputs\":[{\"name\":\"_shouldProcessRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_crowdsaleEndDate\",\"type\":\"uint256\"},{\"name\":\"_numIntervals\",\"type\":\"uint256\"},{\"name\":\"_intervalDuration\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"BRDLockup\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP1 PUSH2 0xD67 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 DUP2 SWAP1 SSTORE POP POP POP POP PUSH2 0xCBB DUP1 PUSH2 0xAC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xBA JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xA2642BF EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x3076DC42 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x363487BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x3A2960E1 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x6198E339 EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0x69AC5721 EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0x6DC0A997 EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x931DAB50 EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xA31E88C2 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0xF95E6306 EQ PUSH2 0x387 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE0 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x149 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x151 PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17A PUSH2 0x41F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A3 PUSH2 0x425 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DA PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x432 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x239 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x241 PUSH2 0x683 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x262 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x297 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x689 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2AC PUSH2 0x821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x30F PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x846 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x338 PUSH2 0x870 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x359 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x385 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x876 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39A PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x3C3 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4A4 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x3 SLOAD PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4CE JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP PUSH2 0x536 PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4F5 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x1 DUP7 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x516 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0xB6A SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x545 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x569 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x6381D9813CABEB57471B5A7E05078E64845CCDB563146A6911D536F24CE960F1 PUSH1 0x1 DUP7 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x5E1 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP3 POP PUSH2 0x616 JUMP JUMPDEST PUSH1 0x0 SWAP3 POP JUMPDEST PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x625 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD SWAP1 POP PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x648 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD TIMESTAMP LT ISZERO ISZERO PUSH2 0x6F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD DUP1 PUSH1 0x1 ADD DUP3 DUP2 PUSH2 0x708 SWAP2 SWAP1 PUSH2 0xBF7 JUMP JUMPDEST SWAP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x625FED9875DADA8643F2418B838AE0BC78D9A148A18EEE4EE1979FF0F3F5D427 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x857 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x8D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x90D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xA2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD TIMESTAMP LT ISZERO DUP1 ISZERO PUSH2 0xA6A JUMPI POP PUSH2 0xA53 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD PUSH2 0xB83 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xA68 PUSH1 0x2 SLOAD TIMESTAMP PUSH2 0xB6A SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST GT JUMPDEST SWAP5 POP PUSH1 0x5 SLOAD PUSH1 0x3 SLOAD LT SWAP4 POP DUP5 ISZERO DUP1 PUSH2 0xA80 JUMPI POP DUP4 ISZERO JUMPDEST ISZERO PUSH2 0xA8E JUMPI PUSH1 0x0 SWAP6 POP PUSH2 0xB62 JUMP JUMPDEST PUSH2 0xAA4 PUSH1 0x1 PUSH1 0x3 SLOAD PUSH2 0xBBE SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP3 POP PUSH1 0x0 SWAP2 POP JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xB5D JUMPI PUSH1 0x5 SLOAD PUSH1 0x3 SLOAD EQ ISZERO PUSH2 0xAF3 JUMPI PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xADA JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD SLOAD SWAP1 POP PUSH2 0xB2B JUMP JUMPDEST PUSH2 0xB28 PUSH1 0x5 SLOAD PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xB08 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x1 ADD SLOAD PUSH2 0xBDC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP JUMPDEST DUP1 PUSH1 0x1 DUP4 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xB3B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP2 DUP1 PUSH1 0x1 ADD SWAP3 POP POP PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x1 SWAP6 POP JUMPDEST POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xB78 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 EQ ISZERO PUSH2 0xB98 JUMPI PUSH1 0x0 SWAP2 POP PUSH2 0xBB7 JUMP JUMPDEST DUP3 DUP5 MUL SWAP1 POP DUP3 DUP5 DUP3 DUP2 ISZERO ISZERO PUSH2 0xBA9 JUMPI INVALID JUMPDEST DIV EQ ISZERO ISZERO PUSH2 0xBB3 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0xBD2 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 DUP2 ISZERO ISZERO PUSH2 0xBEA JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 ISZERO GT PUSH2 0xC24 JUMPI PUSH1 0x5 MUL DUP2 PUSH1 0x5 MUL DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC23 SWAP2 SWAP1 PUSH2 0xC29 JUMP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xC8C SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xC88 JUMPI PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x5 ADD PUSH2 0xC2F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 AND 0xa6 MOD 0xb2 SWAP7 0xb2 ISZERO CALLDATASIZE PUSH9 0xB63236B228A1AB5A4A 0xea CALLDATALOAD PUSH13 0xACC1FCAC4D3AD2C19FFFEA0029 ", + "srcmap" : "4905:4265:0:-;;;6007:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;6130:17;6117:10;:30;;;;6168:13;6153:12;:28;;;;6206:17;6187:16;:36;;;;6247:1;6229:15;:19;;;;6007:246;;;4905:4265;;;;;;", + "srcmap-runtime" : "4905:4265:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5457:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5698;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5607:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7591:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7907:924;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8875:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7742:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5790:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;6311:1239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5457:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5698:::-;;;;:::o;5607:30::-;;;;:::o;7591:93::-;7642:4;7661:11;:18;;;;7654:25;;7591:93;:::o;7907:924::-;7962:18;7982:20;8004:21;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;8152:15;;8114:11;8126:6;8114:19;;;;;;;;;;;;;;;;;;;;:35;;;:53;8110:588;;;8280:15;;8242:11;8254:6;8242:19;;;;;;;;;;;;;;;;;;;;:35;;:53;;;;8400:75;8441:11;8453:6;8441:19;;;;;;;;;;;;;;;;;;;;:33;;;8400:11;8412:6;8400:19;;;;;;;;;;;;;;;;;;;;:36;;;:40;;:75;;;;:::i;:::-;8361:11;8373:6;8361:19;;;;;;;;;;;;;;;;;;;;:36;;:114;;;;8510:11;8522:6;8510:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;8503:74;;;8543:11;8555:6;8543:19;;;;;;;;;;;;;;;;;;;;:33;;;8503:74;;;;;;;;;;;;;;;;;;8623:4;8607:20;;8110:588;;;8686:5;8670:21;;8110:588;8741:11;8753:6;8741:19;;;;;;;;;;;;;;;;;;;;:33;;;8725:49;;8795:11;8807:6;8795:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;8780:46;;7907:924;;;;;:::o;5544:25::-;;;;:::o;8875:293::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;8978:10;;8972:3;:16;8964:25;;;;;;;;8995:11;:132;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;9019:102;;;;;;;;;9039:12;9019:102;;;;;;9061:10;9019:102;;;;9081:10;9019:102;;;;9101:1;9019:102;;;;9112:1;9019:102;;;8995:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9138:12;9133:30;;;9152:10;9133:30;;;;;;;;;;;;;;;;;;8875:293;;:::o;291:20::-;;;;;;;;;;;;;:::o;7742:121::-;7806:7;7828:11;7840:6;7828:19;;;;;;;;;;;;;;;;;;;;:30;;;7821:37;;7742:121;;;:::o;5790:27::-;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;6311:1239::-;6364:26;6441:21;6551:19;6811:22;6903:7;7014:23;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;6472:10;;6465:3;:17;;:80;;;;;6508:37;6528:16;;6508:15;;:19;;:37;;;;:::i;:::-;6486:19;6494:10;;6486:3;:7;;:19;;;;:::i;:::-;:59;6465:80;6441:104;;6591:12;;6573:15;;:30;6551:52;;6614:16;6613:17;:36;;;;6635:14;6634:15;6613:36;6609:60;;;6664:5;6657:12;;;;6609:60;6730:22;6750:1;6730:15;;:19;;:22;;;;:::i;:::-;6712:15;:40;;;;6836:11;:18;;;;6811:43;;6913:1;6903:11;;6898:630;6921:17;6916:2;:22;6898:630;;;7160:12;;7141:15;;:31;7137:291;;;7202:11;7214:2;7202:15;;;;;;;;;;;;;;;;;;;;:32;;;7184:50;;7137:291;;;7375:44;7406:12;;7375:11;7387:2;7375:15;;;;;;;;;;;;;;;;;;;;:26;;;:30;;:44;;;;:::i;:::-;7357:62;;7137:291;7506:15;7474:11;7486:2;7474:15;;;;;;;;;;;;;;;;;;;;:29;;:47;;;;6940:4;;;;;;;6898:630;;;7541:4;7534:11;;719:1;6311:1239;;;;;;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;3688:173::-;3746:7;3801:9;3770:1;3765;:6;3761:35;;;3788:1;3781:8;;;;3761:35;3817:1;3813;:5;3801:17;;3840:1;3835;3831;:5;;;;;;;;:10;3824:18;;;;;;3855:1;3848:8;;3688:173;;;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o;3865:265::-;3923:7;4012:9;4028:1;4024;:5;;;;;;;;4012:17;;4124:1;4117:8;;3865:265;;;;;:::o;4905:4265::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:BRDToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MSTORE" + }, + { + "begin" : 15046, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "NOT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP4" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "OR" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "B" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "427265616420546F6B656E000000000000000000000000000000000000000000" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "4252440000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16069, + "end" : 16071, + "name" : "PUSH", + "value" : "12" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SSTORE" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SLOAD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "AND" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ISZERO" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MUL" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SUB" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "AND" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DIV" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "KECCAK256" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DIV" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "LT" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MLOAD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "NOT" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "AND" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP4" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "OR" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP6" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP6" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ISZERO" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "GT" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ISZERO" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MLOAD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "GT" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ISZERO" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "ADD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "POP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "CODECOPY" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820f7c85c888d952e9b9c9093dd27857c77cb185f080906e6e798494abcf4674c900029", + ".code" : [ + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "MSTORE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "CALLDATASIZE" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "LT" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "SWAP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DIV" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "AND" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "6FDDE03" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "313CE567" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "95D89B41" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "EQ" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPI" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "JUMPDEST" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "DUP1" + }, + { + "begin" : 15903, + "end" : 16683, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "CALLVALUE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPI" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ADD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SUB" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "RETURN" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "CALLVALUE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ISZERO" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPI" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "REVERT" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SUB" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 23, + "end" : 24, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 33, + "end" : 36, + "name" : "DUP4" + }, + { + "begin" : 30, + "end" : 31, + "name" : "DUP2" + }, + { + "begin" : 27, + "end" : 29, + "name" : "LT" + }, + { + "begin" : 8, + "end" : 108, + "name" : "ISZERO" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPI" + }, + { + "begin" : 99, + "end" : 100, + "name" : "DUP1" + }, + { + "begin" : 94, + "end" : 97, + "name" : "DUP3" + }, + { + "begin" : 90, + "end" : 93, + "name" : "ADD" + }, + { + "begin" : 84, + "end" : 89, + "name" : "MLOAD" + }, + { + "begin" : 80, + "end" : 81, + "name" : "DUP2" + }, + { + "begin" : 75, + "end" : 78, + "name" : "DUP5" + }, + { + "begin" : 71, + "end" : 74, + "name" : "ADD" + }, + { + "begin" : 64, + "end" : 70, + "name" : "MSTORE" + }, + { + "begin" : 52, + "end" : 54, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 49, + "end" : 50, + "name" : "DUP2" + }, + { + "begin" : 45, + "end" : 48, + "name" : "ADD" + }, + { + "begin" : 40, + "end" : 55, + "name" : "SWAP1" + }, + { + "begin" : 40, + "end" : 55, + "name" : "POP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 12, + "end" : 26, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ISZERO" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPI" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP4" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3, + "end" : 112, + "name" : "EXP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "NOT" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MSTORE" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPDEST" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "RETURN" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLVALUE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPI" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "AND" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MSTORE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SUB" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMPDEST" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "CALLVALUE" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ISZERO" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMPI" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "REVERT" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMPDEST" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "CALLDATALOAD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "AND" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ADD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "CALLDATALOAD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "AND" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ADD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "CALLDATALOAD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ADD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMPDEST" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "MLOAD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP3" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ISZERO" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ISZERO" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ISZERO" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ISZERO" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "MSTORE" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "ADD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "MLOAD" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "DUP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP2" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SUB" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP1" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "RETURN" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMPDEST" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "CALLVALUE" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "ISZERO" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMPI" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP1" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "REVERT" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMPDEST" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMP" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMPDEST" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "MLOAD" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP1" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP3" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP2" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "MSTORE" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "ADD" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SWAP2" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "POP" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "POP" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "MLOAD" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP1" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SWAP2" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SUB" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SWAP1" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "RETURN" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLVALUE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPI" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "REVERT" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "AND" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MSTORE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SUB" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "RETURN" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLVALUE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPI" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "REVERT" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "AND" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MSTORE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SUB" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "CALLVALUE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPI" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "REVERT" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP3" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MSTORE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ADD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SUB" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "CALLVALUE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ISZERO" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPI" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "REVERT" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SUB" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 23, + "end" : 24, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 33, + "end" : 36, + "name" : "DUP4" + }, + { + "begin" : 30, + "end" : 31, + "name" : "DUP2" + }, + { + "begin" : 27, + "end" : 29, + "name" : "LT" + }, + { + "begin" : 8, + "end" : 108, + "name" : "ISZERO" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPI" + }, + { + "begin" : 99, + "end" : 100, + "name" : "DUP1" + }, + { + "begin" : 94, + "end" : 97, + "name" : "DUP3" + }, + { + "begin" : 90, + "end" : 93, + "name" : "ADD" + }, + { + "begin" : 84, + "end" : 89, + "name" : "MLOAD" + }, + { + "begin" : 80, + "end" : 81, + "name" : "DUP2" + }, + { + "begin" : 75, + "end" : 78, + "name" : "DUP5" + }, + { + "begin" : 71, + "end" : 74, + "name" : "ADD" + }, + { + "begin" : 64, + "end" : 70, + "name" : "MSTORE" + }, + { + "begin" : 52, + "end" : 54, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 49, + "end" : 50, + "name" : "DUP2" + }, + { + "begin" : 45, + "end" : 48, + "name" : "ADD" + }, + { + "begin" : 40, + "end" : 55, + "name" : "SWAP1" + }, + { + "begin" : 40, + "end" : 55, + "name" : "POP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 12, + "end" : 26, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ISZERO" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPI" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP4" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3, + "end" : 112, + "name" : "EXP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "NOT" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MSTORE" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPDEST" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "RETURN" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMPDEST" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "CALLVALUE" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ISZERO" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMPI" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "REVERT" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMPDEST" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "CALLDATALOAD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "AND" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ADD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "CALLDATALOAD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ADD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMPDEST" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "MLOAD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP3" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ISZERO" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ISZERO" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ISZERO" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ISZERO" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "MSTORE" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "ADD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "MLOAD" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "DUP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SUB" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP1" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "RETURN" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLVALUE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPI" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "REVERT" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "AND" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "66" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MSTORE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SUB" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "RETURN" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLVALUE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ISZERO" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "68" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPI" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "REVERT" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "68" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MSTORE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SUB" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "71" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "71" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DIV" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "AND" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ISZERO" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MUL" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SUB" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "AND" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DIV" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DIV" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MUL" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "AND" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ISZERO" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MUL" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SUB" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "AND" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DIV" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ISZERO" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPI" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "LT" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "75" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPI" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DIV" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MUL" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "75" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "KECCAK256" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "76" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SLOAD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "MSTORE" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP4" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "GT" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH [tag]", + "value" : "76" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPI" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP1" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SUB" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "AND" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP3" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "ADD" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "SWAP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMPDEST" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "POP" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "DUP2" + }, + { + "begin" : 15973, + "end" : 16007, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13072, + "end" : 13076, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13116, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13091, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13092, + "end" : 13102, + "name" : "CALLER" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13104, + "end" : 13112, + "name" : "DUP6" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SSTORE" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "POP" + }, + { + "begin" : 13149, + "end" : 13157, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13137, + "end" : 13147, + "name" : "CALLER" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 13159, + "end" : 13165, + "name" : "DUP5" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MSTORE" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "ADD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SUB" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "LOG3" + }, + { + "begin" : 13179, + "end" : 13183, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "SWAP1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMPDEST" + }, + { + "begin" : 16279, + "end" : 16283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "SWAP1" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "SLOAD" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "SWAP1" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "EXP" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "SWAP1" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "DIV" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 16299, + "end" : 16314, + "name" : "AND" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "DUP1" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "JUMPI" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "POP" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "SWAP1" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "SLOAD" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "SWAP1" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "EXP" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "SWAP1" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "DIV" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16332, + "end" : 16337, + "name" : "AND" + }, + { + "begin" : 16318, + "end" : 16337, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16318, + "end" : 16337, + "name" : "AND" + }, + { + "begin" : 16318, + "end" : 16328, + "name" : "CALLER" + }, + { + "begin" : 16318, + "end" : 16337, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16318, + "end" : 16337, + "name" : "AND" + }, + { + "begin" : 16318, + "end" : 16337, + "name" : "EQ" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 16299, + "end" : 16337, + "name" : "JUMPDEST" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "ISZERO" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "ISZERO" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "PUSH [tag]", + "value" : "80" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "JUMPI" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "DUP1" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "REVERT" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "tag", + "value" : "80" + }, + { + "begin" : 16291, + "end" : 16338, + "name" : "JUMPDEST" + }, + { + "begin" : 16351, + "end" : 16389, + "name" : "PUSH [tag]", + "value" : "81" + }, + { + "begin" : 16370, + "end" : 16375, + "name" : "DUP5" + }, + { + "begin" : 16377, + "end" : 16380, + "name" : "DUP5" + }, + { + "begin" : 16382, + "end" : 16388, + "name" : "DUP5" + }, + { + "begin" : 16351, + "end" : 16369, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 16351, + "end" : 16389, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 16351, + "end" : 16389, + "name" : "tag", + "value" : "81" + }, + { + "begin" : 16351, + "end" : 16389, + "name" : "JUMPDEST" + }, + { + "begin" : 16344, + "end" : 16389, + "name" : "SWAP1" + }, + { + "begin" : 16344, + "end" : 16389, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP4" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "SWAP3" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "POP" + }, + { + "begin" : 16197, + "end" : 16394, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMPDEST" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "SLOAD" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "DUP2" + }, + { + "begin" : 16043, + "end" : 16071, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15433, + "end" : 15437, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "86" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "86" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH [tag]", + "value" : "88" + }, + { + "begin" : 15475, + "end" : 15482, + "name" : "DUP3" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "SLOAD" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP2" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "AND" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "tag", + "value" : "88" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMPDEST" + }, + { + "begin" : 15445, + "end" : 15456, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "DUP2" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SSTORE" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "POP" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 15523, + "end" : 15530, + "name" : "DUP3" + }, + { + "begin" : 15505, + "end" : 15513, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15514, + "end" : 15517, + "name" : "DUP7" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "KECCAK256" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SLOAD" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP2" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMPDEST" + }, + { + "begin" : 15489, + "end" : 15497, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15498, + "end" : 15501, + "name" : "DUP6" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "KECCAK256" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SSTORE" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "POP" + }, + { + "begin" : 15542, + "end" : 15545, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "AND" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 15547, + "end" : 15554, + "name" : "DUP4" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MSTORE" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "ADD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SUB" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "LOG2" + }, + { + "begin" : 15582, + "end" : 15585, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15578, + "end" : 15579, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 15587, + "end" : 15594, + "name" : "DUP5" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MSTORE" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "ADD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SUB" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "LOG3" + }, + { + "begin" : 15608, + "end" : 15612, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "SWAP1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14217, + "end" : 14221, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14229, + "end" : 14242, + "name" : "DUP1" + }, + { + "begin" : 14245, + "end" : 14252, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14253, + "end" : 14263, + "name" : "CALLER" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14265, + "end" : 14273, + "name" : "DUP6" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SLOAD" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "POP" + }, + { + "begin" : 14303, + "end" : 14311, + "name" : "DUP1" + }, + { + "begin" : 14284, + "end" : 14300, + "name" : "DUP4" + }, + { + "begin" : 14284, + "end" : 14311, + "name" : "GT" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "ISZERO" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPI" + }, + { + "begin" : 14353, + "end" : 14354, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14328, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14329, + "end" : 14339, + "name" : "CALLER" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14341, + "end" : 14349, + "name" : "DUP7" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SSTORE" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "93" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 14420, + "end" : 14436, + "name" : "DUP4" + }, + { + "begin" : 14407, + "end" : 14415, + "name" : "DUP3" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP2" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "AND" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMPDEST" + }, + { + "begin" : 14375, + "end" : 14382, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14383, + "end" : 14393, + "name" : "CALLER" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14395, + "end" : 14403, + "name" : "DUP7" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SSTORE" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "93" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14470, + "end" : 14478, + "name" : "DUP4" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14458, + "end" : 14468, + "name" : "CALLER" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14480, + "end" : 14487, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14488, + "end" : 14498, + "name" : "CALLER" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14500, + "end" : 14508, + "name" : "DUP9" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP3" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MSTORE" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "ADD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SUB" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "LOG3" + }, + { + "begin" : 14523, + "end" : 14527, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "SWAP2" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15790, + "end" : 15794, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "98" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "98" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "100" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "100" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15820, + "end" : 15824, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "EXP" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SLOAD" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "NOT" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "AND" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP4" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "OR" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SSTORE" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "POP" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "DUP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP2" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SUB" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "LOG1" + }, + { + "begin" : 15857, + "end" : 15861, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "SWAP1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "AND" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ISZERO" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MUL" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SUB" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "AND" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DIV" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DIV" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MUL" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "AND" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ISZERO" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MUL" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SUB" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "AND" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DIV" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ISZERO" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPI" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "LT" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "103" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPI" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DIV" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MUL" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "103" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "KECCAK256" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "104" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SLOAD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "MSTORE" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP4" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "GT" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH [tag]", + "value" : "104" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPI" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP1" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SUB" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "AND" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP3" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "ADD" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "SWAP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "tag", + "value" : "102" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMPDEST" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "POP" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "DUP2" + }, + { + "begin" : 16011, + "end" : 16039, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "tag", + "value" : "64" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMPDEST" + }, + { + "begin" : 16577, + "end" : 16581, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "SWAP1" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "SLOAD" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "SWAP1" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "EXP" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "SWAP1" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "DIV" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 16597, + "end" : 16612, + "name" : "AND" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "DUP1" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "PUSH [tag]", + "value" : "106" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "JUMPI" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "POP" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "SWAP1" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "SLOAD" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "SWAP1" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "EXP" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "SWAP1" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "DIV" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16630, + "end" : 16635, + "name" : "AND" + }, + { + "begin" : 16616, + "end" : 16635, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16616, + "end" : 16635, + "name" : "AND" + }, + { + "begin" : 16616, + "end" : 16626, + "name" : "CALLER" + }, + { + "begin" : 16616, + "end" : 16635, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 16616, + "end" : 16635, + "name" : "AND" + }, + { + "begin" : 16616, + "end" : 16635, + "name" : "EQ" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "tag", + "value" : "106" + }, + { + "begin" : 16597, + "end" : 16635, + "name" : "JUMPDEST" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "ISZERO" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "ISZERO" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "PUSH [tag]", + "value" : "107" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "JUMPI" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "DUP1" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "REVERT" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "tag", + "value" : "107" + }, + { + "begin" : 16589, + "end" : 16636, + "name" : "JUMPDEST" + }, + { + "begin" : 16649, + "end" : 16676, + "name" : "PUSH [tag]", + "value" : "108" + }, + { + "begin" : 16664, + "end" : 16667, + "name" : "DUP4" + }, + { + "begin" : 16669, + "end" : 16675, + "name" : "DUP4" + }, + { + "begin" : 16649, + "end" : 16663, + "name" : "PUSH [tag]", + "value" : "109" + }, + { + "begin" : 16649, + "end" : 16676, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 16649, + "end" : 16676, + "name" : "tag", + "value" : "108" + }, + { + "begin" : 16649, + "end" : 16676, + "name" : "JUMPDEST" + }, + { + "begin" : 16642, + "end" : 16676, + "name" : "SWAP1" + }, + { + "begin" : 16642, + "end" : 16676, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP3" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "SWAP2" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "POP" + }, + { + "begin" : 16514, + "end" : 16681, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13951, + "end" : 13955, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH [tag]", + "value" : "111" + }, + { + "begin" : 14029, + "end" : 14040, + "name" : "DUP3" + }, + { + "begin" : 13995, + "end" : 14002, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14003, + "end" : 14013, + "name" : "CALLER" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14015, + "end" : 14023, + "name" : "DUP7" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SLOAD" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP2" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "tag", + "value" : "111" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMPDEST" + }, + { + "begin" : 13963, + "end" : 13970, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13971, + "end" : 13981, + "name" : "CALLER" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13983, + "end" : 13991, + "name" : "DUP6" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SSTORE" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "POP" + }, + { + "begin" : 14068, + "end" : 14076, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14056, + "end" : 14066, + "name" : "CALLER" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14078, + "end" : 14085, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14086, + "end" : 14096, + "name" : "CALLER" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14098, + "end" : 14106, + "name" : "DUP8" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MSTORE" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "ADD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SUB" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "LOG3" + }, + { + "begin" : 14121, + "end" : 14125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "SWAP1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13581, + "end" : 13588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13610, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13611, + "end" : 13617, + "name" : "DUP5" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13619, + "end" : 13627, + "name" : "DUP4" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SLOAD" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "114" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "116" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "116" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 12025, + "end" : 12029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12060, + "end" : 12061, + "name" : "DUP1" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12048, + "name" : "DUP4" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "EQ" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH [tag]", + "value" : "118" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPI" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "DUP1" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "REVERT" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "tag", + "value" : "118" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPDEST" + }, + { + "begin" : 12087, + "end" : 12095, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12096, + "end" : 12101, + "name" : "DUP6" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SWAP1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "KECCAK256" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SLOAD" + }, + { + "begin" : 12077, + "end" : 12083, + "name" : "DUP3" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "GT" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH [tag]", + "value" : "119" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPI" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "DUP1" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "REVERT" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "tag", + "value" : "119" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPDEST" + }, + { + "begin" : 12127, + "end" : 12134, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12135, + "end" : 12140, + "name" : "DUP6" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12142, + "end" : 12152, + "name" : "CALLER" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SLOAD" + }, + { + "begin" : 12117, + "end" : 12123, + "name" : "DUP3" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "GT" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPI" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "DUP1" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "REVERT" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "tag", + "value" : "120" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPDEST" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH [tag]", + "value" : "121" + }, + { + "begin" : 12199, + "end" : 12205, + "name" : "DUP3" + }, + { + "begin" : 12179, + "end" : 12187, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12188, + "end" : 12193, + "name" : "DUP8" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "KECCAK256" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SLOAD" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP2" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "tag", + "value" : "121" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMPDEST" + }, + { + "begin" : 12161, + "end" : 12169, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12170, + "end" : 12175, + "name" : "DUP7" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "KECCAK256" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SSTORE" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "POP" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH [tag]", + "value" : "122" + }, + { + "begin" : 12246, + "end" : 12252, + "name" : "DUP3" + }, + { + "begin" : 12228, + "end" : 12236, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12237, + "end" : 12240, + "name" : "DUP7" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "KECCAK256" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SLOAD" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP2" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "tag", + "value" : "122" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMPDEST" + }, + { + "begin" : 12212, + "end" : 12220, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12221, + "end" : 12224, + "name" : "DUP6" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "KECCAK256" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SSTORE" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "POP" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH [tag]", + "value" : "123" + }, + { + "begin" : 12319, + "end" : 12325, + "name" : "DUP3" + }, + { + "begin" : 12288, + "end" : 12295, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12296, + "end" : 12301, + "name" : "DUP8" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12303, + "end" : 12313, + "name" : "CALLER" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SLOAD" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP2" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "tag", + "value" : "123" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMPDEST" + }, + { + "begin" : 12259, + "end" : 12266, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12267, + "end" : 12272, + "name" : "DUP7" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12274, + "end" : 12284, + "name" : "CALLER" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SSTORE" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "POP" + }, + { + "begin" : 12348, + "end" : 12351, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12341, + "end" : 12346, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 12353, + "end" : 12359, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MSTORE" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "ADD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SUB" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "LOG3" + }, + { + "begin" : 12373, + "end" : 12377, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "SWAP1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "89" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "125" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "125" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "95" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "127" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "127" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "109" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "129" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "129" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "130" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "130" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "131" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "131" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "132" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "132" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "60606040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600b81526020017f427265616420546f6b656e000000000000000000000000000000000000000000815250600490805190602001906200006c92919062000107565b506040805190810160405280600381526020017f425244000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000ba92919062000107565b50601260065533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014a57805160ff19168380011785556200017b565b828001600101855582156200017b579182015b828111156200017a5782518255916020019190600101906200015d565b5b5090506200018a91906200018e565b5090565b620001b391905b80821115620001af57600081600090555060010162000195565b5090565b90565b61196380620001c66000396000f3006060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820f7c85c888d952e9b9c9093dd27857c77cb185f080906e6e798494abcf4674c900029", + "bin-runtime" : "6060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820f7c85c888d952e9b9c9093dd27857c77cb185f080906e6e798494abcf4674c900029", + "clone-bin" : "60606040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600b81526020017f427265616420546f6b656e0000000000000000000000000000000000000000008152506004908051906020019061006a92919061010a565b506040805190810160405280600381526020017f4252440000000000000000000000000000000000000000000000000000000000815250600590805190602001906100b692919061010a565b50601260065533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506033806101b06000396000f35b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014b57805160ff1916838001178555610179565b82800160010185558215610179579182015b8281111561017857825182559160200191906001019061015d565b5b509050610186919061018a565b5090565b6101ac91905b808211156101a8576000816000905550600101610190565b5090565b90560036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decimals()" : "313ce567", + "decreaseApproval(address,uint256)" : "66188463", + "finishMinting()" : "7d64bcb4", + "increaseApproval(address,uint256)" : "d73dd623", + "mint(address,uint256)" : "40c10f19", + "mintingFinished()" : "05d2035b", + "name()" : "06fdde03", + "owner()" : "8da5cb5b", + "symbol()" : "95d89b41", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"BRDToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x427265616420546F6B656E000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x6C SWAP3 SWAP2 SWAP1 PUSH3 0x107 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4252440000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0xBA SWAP3 SWAP2 SWAP1 PUSH3 0x107 JUMP JUMPDEST POP PUSH1 0x12 PUSH1 0x6 SSTORE CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x1B6 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x14A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x17B JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x17B JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x17A JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x15D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x18A SWAP2 SWAP1 PUSH3 0x18E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x1B3 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1AF JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x195 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x1963 DUP1 PUSH3 0x1C6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE6 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2A2 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2CB JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x536 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5FC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFE PUSH2 0x635 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12B PUSH2 0x648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x16B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x150 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x198 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x6E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x20B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x213 PUSH2 0x7D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x288 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x7DE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 PUSH2 0x867 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x30B PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x86D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x365 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xA55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xCE6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DF PUSH2 0xD2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x404 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x40C PUSH2 0xDF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x461 PUSH2 0xE1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4A1 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x486 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x4CE JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xEBB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x541 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x576 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5E6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x113E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x633 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x11C5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x6DE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6B3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6DE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6C1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x848 JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST ISZERO ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x85E DUP5 DUP5 DUP5 PUSH2 0x131D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x8CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0x8E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8FC DUP3 PUSH1 0x0 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0x954 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xBFA JUMP JUMPDEST PUSH2 0xB79 DUP4 DUP3 PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xD8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xDA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0xEB3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE88 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEB3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE96 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF25 JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST ISZERO ISZERO PUSH2 0xF30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF3A DUP4 DUP4 PUSH2 0x1713 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFD3 DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x125D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x135A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x13A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1433 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1485 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x151A DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x15EC DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x16F0 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1708 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x179E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F0 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1885 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xf7 0xc8 0x5c DUP9 DUP14 SWAP6 0x2e SWAP12 SWAP13 SWAP1 SWAP4 0xdd 0x27 DUP6 PUSH29 0x77CB185F080906E6E798494ABCF4674C90002900000000000000000000 ", + "srcmap" : "15903:780:0:-;;;15046:5;15016:35;;;;;;;;;;;;;;;;;;;;15973:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16011:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16069:2;16043:28;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;15903:780;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "srcmap-runtime" : "15903:780:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15973:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9381:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16197:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16043:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15355:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10610:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16011:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16514:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13873:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:35;;;;;;;;;;;;;:::o;15973:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13005:183::-;13072:4;13116:6;13084:7;:19;13092:10;13084:19;;;;;;;;;;;;;;;:29;13104:8;13084:29;;;;;;;;;;;;;;;:38;;;;13149:8;13128:38;;13137:10;13128:38;;;13159:6;13128:38;;;;;;;;;;;;;;;;;;13179:4;13172:11;;13005:183;;;;:::o;9381:26::-;;;;:::o;16197:197::-;16279:4;16299:15;;;;;;;;;;;:38;;;;16332:5;;;;;;;;;;;16318:19;;:10;:19;;;16299:38;16291:47;;;;;;;;16351:38;16370:5;16377:3;16382:6;16351:18;:38::i;:::-;16344:45;;16197:197;;;;;:::o;16043:28::-;;;;:::o;15355:262::-;15433:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;15091:15;;;;;;;;;;;15090:16;15082:25;;;;;;;;15459:24;15475:7;15459:11;;:15;;:24;;;;:::i;:::-;15445:11;:38;;;;15505:26;15523:7;15505:8;:13;15514:3;15505:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;15489:8;:13;15498:3;15489:13;;;;;;;;;;;;;;;:42;;;;15542:3;15537:18;;;15547:7;15537:18;;;;;;;;;;;;;;;;;;15582:3;15561:34;;15578:1;15561:34;;;15587:7;15561:34;;;;;;;;;;;;;;;;;;15608:4;15601:11;;15355:262;;;;:::o;14134:398::-;14217:4;14229:13;14245:7;:19;14253:10;14245:19;;;;;;;;;;;;;;;:29;14265:8;14245:29;;;;;;;;;;;;;;;;14229:45;;14303:8;14284:16;:27;14280:164;;;14353:1;14321:7;:19;14329:10;14321:19;;;;;;;;;;;;;;;:29;14341:8;14321:29;;;;;;;;;;;;;;;:33;;;;14280:164;;;14407:30;14420:16;14407:8;:12;;:30;;;;:::i;:::-;14375:7;:19;14383:10;14375:19;;;;;;;;;;;;;;;:29;14395:8;14375:29;;;;;;;;;;;;;;;:62;;;;14280:164;14470:8;14449:61;;14458:10;14449:61;;;14480:7;:19;14488:10;14480:19;;;;;;;;;;;;;;;:29;14500:8;14480:29;;;;;;;;;;;;;;;;14449:61;;;;;;;;;;;;;;;;;;14523:4;14516:11;;14134:398;;;;;:::o;10610:107::-;10666:15;10696:8;:16;10705:6;10696:16;;;;;;;;;;;;;;;;10689:23;;10610:107;;;:::o;15731:135::-;15790:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;15091:15;;;;;;;;;;;15090:16;15082:25;;;;;;;;15820:4;15802:15;;:22;;;;;;;;;;;;;;;;;;15830:14;;;;;;;;;;15857:4;15850:11;;15731:135;:::o;291:20::-;;;;;;;;;;;;;:::o;16011:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16514:167::-;16577:4;16597:15;;;;;;;;;;;:38;;;;16630:5;;;;;;;;;;;16616:19;;:10;:19;;;16597:38;16589:47;;;;;;;;16649:27;16664:3;16669:6;16649:14;:27::i;:::-;16642:34;;16514:167;;;;:::o;13873:257::-;13951:4;13995:46;14029:11;13995:7;:19;14003:10;13995:19;;;;;;;;;;;;;;;:29;14015:8;13995:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;13963:7;:19;13971:10;13963:19;;;;;;;;;;;;;;;:29;13983:8;13963:29;;;;;;;;;;;;;;;:78;;;;14068:8;14047:61;;14056:10;14047:61;;;14078:7;:19;14086:10;14078:19;;;;;;;;;;;;;;;:29;14098:8;14078:29;;;;;;;;;;;;;;;;14047:61;;;;;;;;;;;;;;;;;;14121:4;14114:11;;13873:257;;;;:::o;13507:126::-;13581:7;13603;:15;13611:6;13603:15;;;;;;;;;;;;;;;:25;13619:8;13603:25;;;;;;;;;;;;;;;;13596:32;;13507:126;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;11943:439::-;12025:4;12060:1;12045:17;;:3;:17;;;;12037:26;;;;;;;;12087:8;:15;12096:5;12087:15;;;;;;;;;;;;;;;;12077:6;:25;;12069:34;;;;;;;;12127:7;:14;12135:5;12127:14;;;;;;;;;;;;;;;:26;12142:10;12127:26;;;;;;;;;;;;;;;;12117:6;:36;;12109:45;;;;;;;;12179:27;12199:6;12179:8;:15;12188:5;12179:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12161:8;:15;12170:5;12161:15;;;;;;;;;;;;;;;:45;;;;12228:25;12246:6;12228:8;:13;12237:3;12228:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12212:8;:13;12221:3;12212:13;;;;;;;;;;;;;;;:41;;;;12288:38;12319:6;12288:7;:14;12296:5;12288:14;;;;;;;;;;;;;;;:26;12303:10;12288:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;12259:7;:14;12267:5;12259:14;;;;;;;;;;;;;;;:26;12274:10;12259:26;;;;;;;;;;;;;;;:67;;;;12348:3;12332:28;;12341:5;12332:28;;;12353:6;12332:28;;;;;;;;;;;;;;;;;;12373:4;12366:11;;11943:439;;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;10029:379::-;10092:4;10127:1;10112:17;;:3;:17;;;;10104:26;;;;;;;;10154:8;:20;10163:10;10154:20;;;;;;;;;;;;;;;;10144:6;:30;;10136:39;;;;;;;;10268:32;10293:6;10268:8;:20;10277:10;10268:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10245:8;:20;10254:10;10245:20;;;;;;;;;;;;;;;:55;;;;10322:25;10340:6;10322:8;:13;10331:3;10322:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10306:8;:13;10315:3;10306:13;;;;;;;;;;;;;;;:41;;;;10374:3;10353:33;;10362:10;10353:33;;;10379:6;10353:33;;;;;;;;;;;;;;;;;;10399:4;10392:11;;10029:379;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + }, + "build/flattened/BRDCrowdsale.sol:BasicToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "MSTORE" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "CALLVALUE" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "ISZERO" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPI" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "REVERT" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPDEST" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "CODECOPY" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058204e60379f2fdade5bd9e886254b43411b31fa5a8936b8e9e8ad410bf3b18805260029", + ".code" : [ + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "MSTORE" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "CALLDATASIZE" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "LT" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPI" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "CALLDATALOAD" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "SWAP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DIV" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "AND" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "EQ" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPI" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "EQ" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPI" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "EQ" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPI" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "JUMPDEST" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "DUP1" + }, + { + "begin" : 9769, + "end" : 10720, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLVALUE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPI" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "REVERT" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "AND" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MSTORE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SUB" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b6104028061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a723058204e60379f2fdade5bd9e886254b43411b31fa5a8936b8e9e8ad410bf3b18805260029", + "bin-runtime" : "606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a723058204e60379f2fdade5bd9e886254b43411b31fa5a8936b8e9e8ad410bf3b18805260029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}}},\"title\":\"Basic token\"}", + "hashes" : { + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}}},\"title\":\"Basic token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"BasicToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x402 DUP1 PUSH2 0x1E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x18160DDD EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xD2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x17B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x258 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x39F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x2ED DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3B8 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x3AD JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3CC JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0x4e PUSH1 0x37 SWAP16 0x2f 0xda 0xde JUMPDEST 0xd9 0xe8 DUP7 0x25 0x4b NUMBER COINBASE 0x1b BALANCE STATICCALL GAS DUP10 CALLDATASIZE 0xb8 0xe9 0xe8 0xad COINBASE SIGNEXTEND RETURN 0xb1 DUP9 SDIV 0x26 STOP 0x29 ", + "srcmap" : "9769:951:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "9769:951:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9381:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10610:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10029:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9381:26;;;;:::o;10610:107::-;10666:15;10696:8;:16;10705:6;10696:16;;;;;;;;;;;;;;;;10689:23;;10610:107;;;:::o;10029:379::-;10092:4;10127:1;10112:17;;:3;:17;;;;10104:26;;;;;;;;10154:8;:20;10163:10;10154:20;;;;;;;;;;;;;;;;10144:6;:30;;10136:39;;;;;;;;10268:32;10293:6;10268:8;:20;10277:10;10268:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10245:8;:20;10254:10;10245:20;;;;;;;;;;;;;;;:55;;;;10322:25;10340:6;10322:8;:13;10331:3;10322:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10306:8;:13;10315:3;10306:13;;;;;;;;;;;;;;;:41;;;;10374:3;10353:33;;10362:10;10353:33;;;10379:6;10353:33;;;;;;;;;;;;;;;;;;10399:4;10392:11;;10029:379;;;;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:Crowdsale" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"endTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"startTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_endTime\",\"type\":\"uint256\"},{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenPurchase\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "MSTORE" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "CALLVALUE" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ISZERO" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "JUMPI" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "REVERT" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "JUMPDEST" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MLOAD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "80" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSHSIZE" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP4" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "CODECOPY" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP2" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ADD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MSTORE" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MLOAD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ADD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP2" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MLOAD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ADD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP2" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MLOAD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ADD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP2" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "DUP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "MLOAD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "ADD" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP2" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "SWAP1" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17971, + "end" : 17974, + "name" : "TIMESTAMP" + }, + { + "begin" : 17957, + "end" : 17967, + "name" : "DUP5" + }, + { + "begin" : 17957, + "end" : 17974, + "name" : "LT" + }, + { + "begin" : 17957, + "end" : 17974, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "ISZERO" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "JUMPI" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "DUP1" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "REVERT" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 17949, + "end" : 17975, + "name" : "JUMPDEST" + }, + { + "begin" : 18001, + "end" : 18011, + "name" : "DUP4" + }, + { + "begin" : 17989, + "end" : 17997, + "name" : "DUP4" + }, + { + "begin" : 17989, + "end" : 18011, + "name" : "LT" + }, + { + "begin" : 17989, + "end" : 18011, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "ISZERO" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "JUMPI" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "DUP1" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "REVERT" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 17981, + "end" : 18012, + "name" : "JUMPDEST" + }, + { + "begin" : 18034, + "end" : 18035, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18026, + "end" : 18031, + "name" : "DUP3" + }, + { + "begin" : 18026, + "end" : 18035, + "name" : "GT" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "ISZERO" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "ISZERO" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "JUMPI" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "DUP1" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "REVERT" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 18018, + "end" : 18036, + "name" : "JUMPDEST" + }, + { + "begin" : 18069, + "end" : 18070, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "AND" + }, + { + "begin" : 18050, + "end" : 18057, + "name" : "DUP2" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "AND" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "EQ" + }, + { + "begin" : 18050, + "end" : 18071, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "ISZERO" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "JUMPI" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "DUP1" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "REVERT" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 18042, + "end" : 18072, + "name" : "JUMPDEST" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH", + "value" : "100000000" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "MUL" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "PUSH [tag]", + "value" : "18446744073709551677" + }, + { + "begin" : 18087, + "end" : 18106, + "name" : "OR" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "PUSH", + "value" : "100000000" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "DIV" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 18087, + "end" : 18108, + "name" : "JUMPDEST" + }, + { + "begin" : 18079, + "end" : 18084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18079, + "end" : 18084, + "name" : "DUP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "EXP" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP2" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SLOAD" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP2" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "MUL" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "NOT" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "AND" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "DUP4" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "AND" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "MUL" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "OR" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SWAP1" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "SSTORE" + }, + { + "begin" : 18079, + "end" : 18108, + "name" : "POP" + }, + { + "begin" : 18126, + "end" : 18136, + "name" : "DUP4" + }, + { + "begin" : 18114, + "end" : 18123, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "DUP2" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "SWAP1" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "SSTORE" + }, + { + "begin" : 18114, + "end" : 18136, + "name" : "POP" + }, + { + "begin" : 18152, + "end" : 18160, + "name" : "DUP3" + }, + { + "begin" : 18142, + "end" : 18149, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "DUP2" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "SWAP1" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "SSTORE" + }, + { + "begin" : 18142, + "end" : 18160, + "name" : "POP" + }, + { + "begin" : 18173, + "end" : 18178, + "name" : "DUP2" + }, + { + "begin" : 18166, + "end" : 18170, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "DUP2" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "SWAP1" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "SSTORE" + }, + { + "begin" : 18166, + "end" : 18178, + "name" : "POP" + }, + { + "begin" : 18193, + "end" : 18200, + "name" : "DUP1" + }, + { + "begin" : 18184, + "end" : 18190, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 18184, + "end" : 18190, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "EXP" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP2" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SLOAD" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP2" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "MUL" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "NOT" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "AND" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SWAP1" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "DUP4" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "AND" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "MUL" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "OR" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SWAP1" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "SSTORE" + }, + { + "begin" : 18184, + "end" : 18200, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17847, + "end" : 18205, + "name" : "POP" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMP" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "JUMPDEST" + }, + { + "begin" : 18367, + "end" : 18380, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPDEST" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "MLOAD" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SWAP2" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SUB" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SWAP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "CREATE" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "ISZERO" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "ISZERO" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPI" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "REVERT" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPDEST" + }, + { + "begin" : 18388, + "end" : 18414, + "name" : "SWAP1" + }, + { + "begin" : 18388, + "end" : 18414, + "name" : "POP" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "SWAP1" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPDEST" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "MLOAD" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP4" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "CODECOPY" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "ADD" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "SWAP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPDEST" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "CODECOPY" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820ed11e634974495ba3c860db83a7b55bb56653b9c86de89bd90456d50c55783fe0029", + ".code" : [ + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "MSTORE" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "CALLDATASIZE" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "LT" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "CALLDATALOAD" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "SWAP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DIV" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "AND" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "2C4E722E" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "3197CBB6" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "4042B66F" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "521EB273" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "78E97925" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "EC8AC4D8" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "ECB70FB7" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "DUP1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH", + "value" : "FC0C546A" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "EQ" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPI" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "JUMPDEST" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 18518, + "end" : 18528, + "name" : "CALLER" + }, + { + "begin" : 18508, + "end" : 18517, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 18508, + "end" : 18529, + "name" : "JUMPDEST" + }, + { + "begin" : 17066, + "end" : 19588, + "name" : "STOP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "CALLVALUE" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "ISZERO" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPI" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "REVERT" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP3" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MSTORE" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "ADD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "POP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "POP" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "MLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SUB" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SWAP1" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "RETURN" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "CALLVALUE" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "ISZERO" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPI" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "REVERT" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP3" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MSTORE" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "ADD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "POP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "POP" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "MLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SUB" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SWAP1" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "RETURN" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "CALLVALUE" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "ISZERO" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPI" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "REVERT" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP3" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MSTORE" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "ADD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "POP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "POP" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "MLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SUB" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SWAP1" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "RETURN" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "CALLVALUE" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "ISZERO" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPI" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "REVERT" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP3" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MSTORE" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "ADD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "POP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "POP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "MLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SUB" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "RETURN" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "CALLVALUE" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "ISZERO" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPI" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "REVERT" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP3" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MSTORE" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "ADD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "POP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "POP" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "MLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SUB" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SWAP1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "RETURN" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMPDEST" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "DUP1" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "DUP1" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "CALLDATALOAD" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "AND" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "SWAP1" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "ADD" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "SWAP1" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "SWAP2" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "SWAP1" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMPDEST" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "STOP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPDEST" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "CALLVALUE" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ISZERO" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPI" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "DUP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "REVERT" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPDEST" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPDEST" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "MLOAD" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "DUP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "DUP3" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ISZERO" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ISZERO" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ISZERO" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ISZERO" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "DUP2" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "MSTORE" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "ADD" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SWAP2" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "POP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "POP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "MLOAD" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "DUP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SWAP2" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SUB" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SWAP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "RETURN" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "CALLVALUE" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "ISZERO" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPI" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "REVERT" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP3" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MSTORE" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "ADD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "POP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "POP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "MLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SUB" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "RETURN" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMPDEST" + }, + { + "begin" : 18709, + "end" : 18726, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18789, + "end" : 18803, + "name" : "DUP1" + }, + { + "begin" : 18669, + "end" : 18670, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "AND" + }, + { + "begin" : 18646, + "end" : 18657, + "name" : "DUP4" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "AND" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "EQ" + }, + { + "begin" : 18646, + "end" : 18671, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "ISZERO" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "JUMPI" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "DUP1" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "REVERT" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 18638, + "end" : 18672, + "name" : "JUMPDEST" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 18686, + "end" : 18699, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 18686, + "end" : 18701, + "name" : "JUMPDEST" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "ISZERO" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "ISZERO" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "JUMPI" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "DUP1" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "REVERT" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 18678, + "end" : 18702, + "name" : "JUMPDEST" + }, + { + "begin" : 18729, + "end" : 18738, + "name" : "CALLVALUE" + }, + { + "begin" : 18709, + "end" : 18738, + "name" : "SWAP2" + }, + { + "begin" : 18709, + "end" : 18738, + "name" : "POP" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 18820, + "end" : 18824, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18820, + "end" : 18824, + "name" : "SLOAD" + }, + { + "begin" : 18806, + "end" : 18815, + "name" : "DUP4" + }, + { + "begin" : 18806, + "end" : 18819, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 18806, + "end" : 18819, + "name" : "SWAP1" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "SWAP2" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "SWAP1" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "AND" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 18806, + "end" : 18825, + "name" : "JUMPDEST" + }, + { + "begin" : 18789, + "end" : 18825, + "name" : "SWAP1" + }, + { + "begin" : 18789, + "end" : 18825, + "name" : "POP" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 18878, + "end" : 18887, + "name" : "DUP3" + }, + { + "begin" : 18864, + "end" : 18873, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 18864, + "end" : 18873, + "name" : "SLOAD" + }, + { + "begin" : 18864, + "end" : 18877, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 18864, + "end" : 18877, + "name" : "SWAP1" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "SWAP2" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "SWAP1" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "AND" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 18864, + "end" : 18888, + "name" : "JUMPDEST" + }, + { + "begin" : 18852, + "end" : 18861, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "DUP2" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "SWAP1" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "SSTORE" + }, + { + "begin" : 18852, + "end" : 18888, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SLOAD" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "EXP" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "DIV" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18900, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18905, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 18906, + "end" : 18917, + "name" : "DUP5" + }, + { + "begin" : 18919, + "end" : 18925, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MUL" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "AND" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP3" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MSTORE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ADD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SWAP3" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP4" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SUB" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP2" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP8" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "EXTCODESIZE" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPI" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "REVERT" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPDEST" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "2C6" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "GAS" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SUB" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "CALL" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "ISZERO" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPI" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "REVERT" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "JUMPDEST" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "DUP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "MLOAD" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "SWAP1" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18895, + "end" : 18926, + "name" : "POP" + }, + { + "begin" : 18958, + "end" : 18969, + "name" : "DUP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "AND" + }, + { + "begin" : 18946, + "end" : 18956, + "name" : "CALLER" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "AND" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18" + }, + { + "begin" : 18971, + "end" : 18980, + "name" : "DUP5" + }, + { + "begin" : 18982, + "end" : 18988, + "name" : "DUP5" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MLOAD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP4" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MSTORE" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "ADD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MSTORE" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "ADD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP3" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "POP" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "MLOAD" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "DUP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP2" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SUB" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "SWAP1" + }, + { + "begin" : 18932, + "end" : 18989, + "name" : "LOG3" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 18996, + "end" : 19008, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 18996, + "end" : 19010, + "name" : "JUMPDEST" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "POP" + }, + { + "begin" : 18577, + "end" : 19015, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMPDEST" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "SLOAD" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "DUP2" + }, + { + "begin" : 17421, + "end" : 17440, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMPDEST" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "SLOAD" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "DUP2" + }, + { + "begin" : 17282, + "end" : 17304, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMPDEST" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "SLOAD" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "DUP2" + }, + { + "begin" : 17480, + "end" : 17504, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMPDEST" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SLOAD" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "EXP" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "SWAP1" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DIV" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "AND" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "DUP2" + }, + { + "begin" : 17348, + "end" : 17369, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMPDEST" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "SLOAD" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "DUP2" + }, + { + "begin" : 17254, + "end" : 17278, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMPDEST" + }, + { + "begin" : 19547, + "end" : 19551, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19572, + "end" : 19579, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 19572, + "end" : 19579, + "name" : "SLOAD" + }, + { + "begin" : 19566, + "end" : 19569, + "name" : "TIMESTAMP" + }, + { + "begin" : 19566, + "end" : 19579, + "name" : "GT" + }, + { + "begin" : 19559, + "end" : 19579, + "name" : "SWAP1" + }, + { + "begin" : 19559, + "end" : 19579, + "name" : "POP" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "SWAP1" + }, + { + "begin" : 19506, + "end" : 19584, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMPDEST" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SLOAD" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "EXP" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "SWAP1" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DIV" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "AND" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "DUP2" + }, + { + "begin" : 17146, + "end" : 17172, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "JUMPDEST" + }, + { + "begin" : 19297, + "end" : 19301, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19309, + "end" : 19326, + "name" : "DUP1" + }, + { + "begin" : 19369, + "end" : 19389, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19336, + "end" : 19345, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 19336, + "end" : 19345, + "name" : "SLOAD" + }, + { + "begin" : 19329, + "end" : 19332, + "name" : "TIMESTAMP" + }, + { + "begin" : 19329, + "end" : 19345, + "name" : "LT" + }, + { + "begin" : 19329, + "end" : 19345, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "DUP1" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "JUMPI" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "POP" + }, + { + "begin" : 19356, + "end" : 19363, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 19356, + "end" : 19363, + "name" : "SLOAD" + }, + { + "begin" : 19349, + "end" : 19352, + "name" : "TIMESTAMP" + }, + { + "begin" : 19349, + "end" : 19363, + "name" : "GT" + }, + { + "begin" : 19349, + "end" : 19363, + "name" : "ISZERO" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 19329, + "end" : 19363, + "name" : "JUMPDEST" + }, + { + "begin" : 19309, + "end" : 19363, + "name" : "SWAP2" + }, + { + "begin" : 19309, + "end" : 19363, + "name" : "POP" + }, + { + "begin" : 19405, + "end" : 19406, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19392, + "end" : 19401, + "name" : "CALLVALUE" + }, + { + "begin" : 19392, + "end" : 19406, + "name" : "EQ" + }, + { + "begin" : 19392, + "end" : 19406, + "name" : "ISZERO" + }, + { + "begin" : 19369, + "end" : 19406, + "name" : "SWAP1" + }, + { + "begin" : 19369, + "end" : 19406, + "name" : "POP" + }, + { + "begin" : 19419, + "end" : 19431, + "name" : "DUP2" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "DUP1" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "ISZERO" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "JUMPI" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "POP" + }, + { + "begin" : 19435, + "end" : 19450, + "name" : "DUP1" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 19419, + "end" : 19450, + "name" : "JUMPDEST" + }, + { + "begin" : 19412, + "end" : 19450, + "name" : "SWAP3" + }, + { + "begin" : 19412, + "end" : 19450, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "POP" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "SWAP1" + }, + { + "begin" : 19249, + "end" : 19455, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3746, + "end" : 3753, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3801, + "end" : 3810, + "name" : "DUP1" + }, + { + "begin" : 3770, + "end" : 3771, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3765, + "end" : 3766, + "name" : "DUP5" + }, + { + "begin" : 3765, + "end" : 3771, + "name" : "EQ" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "ISZERO" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPI" + }, + { + "begin" : 3788, + "end" : 3789, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "SWAP2" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "POP" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 3781, + "end" : 3789, + "name" : "JUMP" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 3761, + "end" : 3796, + "name" : "JUMPDEST" + }, + { + "begin" : 3817, + "end" : 3818, + "name" : "DUP3" + }, + { + "begin" : 3813, + "end" : 3814, + "name" : "DUP5" + }, + { + "begin" : 3813, + "end" : 3818, + "name" : "MUL" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "SWAP1" + }, + { + "begin" : 3801, + "end" : 3818, + "name" : "POP" + }, + { + "begin" : 3840, + "end" : 3841, + "name" : "DUP3" + }, + { + "begin" : 3835, + "end" : 3836, + "name" : "DUP5" + }, + { + "begin" : 3831, + "end" : 3832, + "name" : "DUP3" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DUP2" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "ISZERO" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPI" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "INVALID" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "JUMPDEST" + }, + { + "begin" : 3831, + "end" : 3836, + "name" : "DIV" + }, + { + "begin" : 3831, + "end" : 3841, + "name" : "EQ" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "ISZERO" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPI" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "INVALID" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 3824, + "end" : 3842, + "name" : "JUMPDEST" + }, + { + "begin" : 3855, + "end" : 3856, + "name" : "DUP1" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "SWAP2" + }, + { + "begin" : 3848, + "end" : 3856, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMPDEST" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP3" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "SWAP2" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "POP" + }, + { + "begin" : 3688, + "end" : 3861, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "JUMPDEST" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SLOAD" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "EXP" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "DIV" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 19162, + "end" : 19168, + "name" : "AND" + }, + { + "begin" : 19162, + "end" : 19177, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 19162, + "end" : 19177, + "name" : "AND" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "8FC" + }, + { + "begin" : 19178, + "end" : 19187, + "name" : "CALLVALUE" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP2" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MUL" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MLOAD" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "MLOAD" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP4" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SUB" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP2" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP6" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP9" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP9" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "CALL" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "SWAP4" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "POP" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "ISZERO" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "JUMPI" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "DUP1" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "REVERT" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 19162, + "end" : 19188, + "name" : "JUMPDEST" + }, + { + "begin" : 19123, + "end" : 19193, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "JUMPDEST" + }, + { + "begin" : 18367, + "end" : 18380, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPDEST" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "MLOAD" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SWAP2" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SUB" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "SWAP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "CREATE" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "ISZERO" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "ISZERO" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPI" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "DUP1" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "REVERT" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 18395, + "end" : 18414, + "name" : "JUMPDEST" + }, + { + "begin" : 18388, + "end" : 18414, + "name" : "SWAP1" + }, + { + "begin" : 18388, + "end" : 18414, + "name" : "POP" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "SWAP1" + }, + { + "begin" : 18318, + "end" : 18419, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : -1, + "end" : -1, + "name" : "tag", + "value" : "64" + }, + { + "begin" : -1, + "end" : -1, + "name" : "JUMPDEST" + }, + { + "begin" : -1, + "end" : -1, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : -1, + "end" : -1, + "name" : "MLOAD" + }, + { + "begin" : -1, + "end" : -1, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : -1, + "end" : -1, + "name" : "DUP1" + }, + { + "begin" : -1, + "end" : -1, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : -1, + "end" : -1, + "name" : "DUP4" + }, + { + "begin" : -1, + "end" : -1, + "name" : "CODECOPY" + }, + { + "begin" : -1, + "end" : -1, + "name" : "ADD" + }, + { + "begin" : -1, + "end" : -1, + "name" : "SWAP1" + }, + { + "begin" : -1, + "end" : -1, + "name" : "JUMP", + "value" : "[out]" + } + ], + ".data" : { + "0" : { + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 15046, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "NOT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP4" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "OR" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CODECOPY" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATASIZE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "LT" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "SWAP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DIV" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "AND" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPDEST" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "CALLVALUE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPI" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ADD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SUB" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "RETURN" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLVALUE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPI" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "AND" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MSTORE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SUB" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLVALUE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPI" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "REVERT" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MSTORE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SUB" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "RETURN" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLVALUE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPI" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "REVERT" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "AND" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MSTORE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SUB" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "RETURN" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLVALUE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPI" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "REVERT" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "AND" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MSTORE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SUB" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "CALLVALUE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPI" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "REVERT" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP3" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MSTORE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ADD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SUB" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLVALUE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPI" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "REVERT" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "AND" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MSTORE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SUB" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "RETURN" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLVALUE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPI" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "REVERT" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "AND" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MSTORE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SUB" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "RETURN" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLVALUE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ISZERO" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPI" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "REVERT" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MSTORE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SUB" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DIV" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13072, + "end" : 13076, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13116, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13091, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13092, + "end" : 13102, + "name" : "CALLER" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13104, + "end" : 13112, + "name" : "DUP6" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SSTORE" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "POP" + }, + { + "begin" : 13149, + "end" : 13157, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13137, + "end" : 13147, + "name" : "CALLER" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 13159, + "end" : 13165, + "name" : "DUP5" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MSTORE" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "ADD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SUB" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "LOG3" + }, + { + "begin" : 13179, + "end" : 13183, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "SWAP1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 12025, + "end" : 12029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12060, + "end" : 12061, + "name" : "DUP1" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12048, + "name" : "DUP4" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "EQ" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPI" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "DUP1" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "REVERT" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPDEST" + }, + { + "begin" : 12087, + "end" : 12095, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12096, + "end" : 12101, + "name" : "DUP6" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SWAP1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "KECCAK256" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SLOAD" + }, + { + "begin" : 12077, + "end" : 12083, + "name" : "DUP3" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "GT" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPI" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "DUP1" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "REVERT" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPDEST" + }, + { + "begin" : 12127, + "end" : 12134, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12135, + "end" : 12140, + "name" : "DUP6" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12142, + "end" : 12152, + "name" : "CALLER" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SLOAD" + }, + { + "begin" : 12117, + "end" : 12123, + "name" : "DUP3" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "GT" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPI" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "DUP1" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "REVERT" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPDEST" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 12199, + "end" : 12205, + "name" : "DUP3" + }, + { + "begin" : 12179, + "end" : 12187, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12188, + "end" : 12193, + "name" : "DUP8" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "KECCAK256" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SLOAD" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP2" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMPDEST" + }, + { + "begin" : 12161, + "end" : 12169, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12170, + "end" : 12175, + "name" : "DUP7" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "KECCAK256" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SSTORE" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "POP" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 12246, + "end" : 12252, + "name" : "DUP3" + }, + { + "begin" : 12228, + "end" : 12236, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12237, + "end" : 12240, + "name" : "DUP7" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "KECCAK256" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SLOAD" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP2" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMPDEST" + }, + { + "begin" : 12212, + "end" : 12220, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12221, + "end" : 12224, + "name" : "DUP6" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "KECCAK256" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SSTORE" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "POP" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 12319, + "end" : 12325, + "name" : "DUP3" + }, + { + "begin" : 12288, + "end" : 12295, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12296, + "end" : 12301, + "name" : "DUP8" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12303, + "end" : 12313, + "name" : "CALLER" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SLOAD" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP2" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMPDEST" + }, + { + "begin" : 12259, + "end" : 12266, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12267, + "end" : 12272, + "name" : "DUP7" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12274, + "end" : 12284, + "name" : "CALLER" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SSTORE" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "POP" + }, + { + "begin" : 12348, + "end" : 12351, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12341, + "end" : 12346, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 12353, + "end" : 12359, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MSTORE" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "ADD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SUB" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "LOG3" + }, + { + "begin" : 12373, + "end" : 12377, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "SWAP1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15433, + "end" : 15437, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 15475, + "end" : 15482, + "name" : "DUP3" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "SLOAD" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP2" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "AND" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMPDEST" + }, + { + "begin" : 15445, + "end" : 15456, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "DUP2" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SSTORE" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "POP" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 15523, + "end" : 15530, + "name" : "DUP3" + }, + { + "begin" : 15505, + "end" : 15513, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15514, + "end" : 15517, + "name" : "DUP7" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "KECCAK256" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SLOAD" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP2" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMPDEST" + }, + { + "begin" : 15489, + "end" : 15497, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15498, + "end" : 15501, + "name" : "DUP6" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "KECCAK256" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SSTORE" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "POP" + }, + { + "begin" : 15542, + "end" : 15545, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "AND" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 15547, + "end" : 15554, + "name" : "DUP4" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MSTORE" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "ADD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SUB" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "LOG2" + }, + { + "begin" : 15582, + "end" : 15585, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15578, + "end" : 15579, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 15587, + "end" : 15594, + "name" : "DUP5" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MSTORE" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "ADD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SUB" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "LOG3" + }, + { + "begin" : 15608, + "end" : 15612, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "SWAP1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14217, + "end" : 14221, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14229, + "end" : 14242, + "name" : "DUP1" + }, + { + "begin" : 14245, + "end" : 14252, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14253, + "end" : 14263, + "name" : "CALLER" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14265, + "end" : 14273, + "name" : "DUP6" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SLOAD" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "POP" + }, + { + "begin" : 14303, + "end" : 14311, + "name" : "DUP1" + }, + { + "begin" : 14284, + "end" : 14300, + "name" : "DUP4" + }, + { + "begin" : 14284, + "end" : 14311, + "name" : "GT" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "ISZERO" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPI" + }, + { + "begin" : 14353, + "end" : 14354, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14328, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14329, + "end" : 14339, + "name" : "CALLER" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14341, + "end" : 14349, + "name" : "DUP7" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SSTORE" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 14420, + "end" : 14436, + "name" : "DUP4" + }, + { + "begin" : 14407, + "end" : 14415, + "name" : "DUP3" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP2" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "AND" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMPDEST" + }, + { + "begin" : 14375, + "end" : 14382, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14383, + "end" : 14393, + "name" : "CALLER" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14395, + "end" : 14403, + "name" : "DUP7" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SSTORE" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14470, + "end" : 14478, + "name" : "DUP4" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14458, + "end" : 14468, + "name" : "CALLER" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14480, + "end" : 14487, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14488, + "end" : 14498, + "name" : "CALLER" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14500, + "end" : 14508, + "name" : "DUP9" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP3" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MSTORE" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "ADD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SUB" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "LOG3" + }, + { + "begin" : 14523, + "end" : 14527, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "SWAP2" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15790, + "end" : 15794, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15820, + "end" : 15824, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "EXP" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SLOAD" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "NOT" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "AND" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP4" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "OR" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SSTORE" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "POP" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "DUP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP2" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SUB" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "LOG1" + }, + { + "begin" : 15857, + "end" : 15861, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "SWAP1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "85" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "85" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13951, + "end" : 13955, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH [tag]", + "value" : "87" + }, + { + "begin" : 14029, + "end" : 14040, + "name" : "DUP3" + }, + { + "begin" : 13995, + "end" : 14002, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14003, + "end" : 14013, + "name" : "CALLER" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14015, + "end" : 14023, + "name" : "DUP7" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SLOAD" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP2" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "tag", + "value" : "87" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMPDEST" + }, + { + "begin" : 13963, + "end" : 13970, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13971, + "end" : 13981, + "name" : "CALLER" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13983, + "end" : 13991, + "name" : "DUP6" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SSTORE" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "POP" + }, + { + "begin" : 14068, + "end" : 14076, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14056, + "end" : 14066, + "name" : "CALLER" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14078, + "end" : 14085, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14086, + "end" : 14096, + "name" : "CALLER" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14098, + "end" : 14106, + "name" : "DUP8" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MSTORE" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "ADD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SUB" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "LOG3" + }, + { + "begin" : 14121, + "end" : 14125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "SWAP1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13581, + "end" : 13588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13610, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13611, + "end" : 13617, + "name" : "DUP5" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13619, + "end" : 13627, + "name" : "DUP4" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SLOAD" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + } + } + }, + "1" : { + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 15046, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "NOT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP4" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "OR" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CODECOPY" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATASIZE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "LT" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "SWAP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DIV" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "AND" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPDEST" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "CALLVALUE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPI" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ADD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SUB" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "RETURN" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLVALUE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPI" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "AND" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MSTORE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SUB" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLVALUE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPI" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "REVERT" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MSTORE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SUB" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "RETURN" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLVALUE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPI" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "REVERT" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "AND" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MSTORE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SUB" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "RETURN" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLVALUE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPI" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "REVERT" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "AND" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MSTORE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SUB" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "CALLVALUE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPI" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "REVERT" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP3" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MSTORE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ADD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SUB" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLVALUE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPI" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "REVERT" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "AND" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MSTORE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SUB" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "RETURN" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLVALUE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPI" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "REVERT" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "AND" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MSTORE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SUB" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "RETURN" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLVALUE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ISZERO" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPI" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "REVERT" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MSTORE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SUB" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DIV" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13072, + "end" : 13076, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13116, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13091, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13092, + "end" : 13102, + "name" : "CALLER" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13104, + "end" : 13112, + "name" : "DUP6" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SSTORE" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "POP" + }, + { + "begin" : 13149, + "end" : 13157, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13137, + "end" : 13147, + "name" : "CALLER" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 13159, + "end" : 13165, + "name" : "DUP5" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MSTORE" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "ADD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SUB" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "LOG3" + }, + { + "begin" : 13179, + "end" : 13183, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "SWAP1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 12025, + "end" : 12029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12060, + "end" : 12061, + "name" : "DUP1" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12048, + "name" : "DUP4" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "EQ" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPI" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "DUP1" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "REVERT" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPDEST" + }, + { + "begin" : 12087, + "end" : 12095, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12096, + "end" : 12101, + "name" : "DUP6" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SWAP1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "KECCAK256" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SLOAD" + }, + { + "begin" : 12077, + "end" : 12083, + "name" : "DUP3" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "GT" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPI" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "DUP1" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "REVERT" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPDEST" + }, + { + "begin" : 12127, + "end" : 12134, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12135, + "end" : 12140, + "name" : "DUP6" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12142, + "end" : 12152, + "name" : "CALLER" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SLOAD" + }, + { + "begin" : 12117, + "end" : 12123, + "name" : "DUP3" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "GT" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPI" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "DUP1" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "REVERT" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPDEST" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 12199, + "end" : 12205, + "name" : "DUP3" + }, + { + "begin" : 12179, + "end" : 12187, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12188, + "end" : 12193, + "name" : "DUP8" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "KECCAK256" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SLOAD" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP2" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMPDEST" + }, + { + "begin" : 12161, + "end" : 12169, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12170, + "end" : 12175, + "name" : "DUP7" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "KECCAK256" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SSTORE" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "POP" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 12246, + "end" : 12252, + "name" : "DUP3" + }, + { + "begin" : 12228, + "end" : 12236, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12237, + "end" : 12240, + "name" : "DUP7" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "KECCAK256" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SLOAD" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP2" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMPDEST" + }, + { + "begin" : 12212, + "end" : 12220, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12221, + "end" : 12224, + "name" : "DUP6" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "KECCAK256" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SSTORE" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "POP" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 12319, + "end" : 12325, + "name" : "DUP3" + }, + { + "begin" : 12288, + "end" : 12295, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12296, + "end" : 12301, + "name" : "DUP8" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12303, + "end" : 12313, + "name" : "CALLER" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SLOAD" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP2" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMPDEST" + }, + { + "begin" : 12259, + "end" : 12266, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12267, + "end" : 12272, + "name" : "DUP7" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12274, + "end" : 12284, + "name" : "CALLER" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SSTORE" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "POP" + }, + { + "begin" : 12348, + "end" : 12351, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12341, + "end" : 12346, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 12353, + "end" : 12359, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MSTORE" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "ADD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SUB" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "LOG3" + }, + { + "begin" : 12373, + "end" : 12377, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "SWAP1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15433, + "end" : 15437, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 15475, + "end" : 15482, + "name" : "DUP3" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "SLOAD" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP2" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "AND" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMPDEST" + }, + { + "begin" : 15445, + "end" : 15456, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "DUP2" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SSTORE" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "POP" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 15523, + "end" : 15530, + "name" : "DUP3" + }, + { + "begin" : 15505, + "end" : 15513, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15514, + "end" : 15517, + "name" : "DUP7" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "KECCAK256" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SLOAD" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP2" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMPDEST" + }, + { + "begin" : 15489, + "end" : 15497, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15498, + "end" : 15501, + "name" : "DUP6" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "KECCAK256" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SSTORE" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "POP" + }, + { + "begin" : 15542, + "end" : 15545, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "AND" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 15547, + "end" : 15554, + "name" : "DUP4" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MSTORE" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "ADD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SUB" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "LOG2" + }, + { + "begin" : 15582, + "end" : 15585, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15578, + "end" : 15579, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 15587, + "end" : 15594, + "name" : "DUP5" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MSTORE" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "ADD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SUB" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "LOG3" + }, + { + "begin" : 15608, + "end" : 15612, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "SWAP1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14217, + "end" : 14221, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14229, + "end" : 14242, + "name" : "DUP1" + }, + { + "begin" : 14245, + "end" : 14252, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14253, + "end" : 14263, + "name" : "CALLER" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14265, + "end" : 14273, + "name" : "DUP6" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SLOAD" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "POP" + }, + { + "begin" : 14303, + "end" : 14311, + "name" : "DUP1" + }, + { + "begin" : 14284, + "end" : 14300, + "name" : "DUP4" + }, + { + "begin" : 14284, + "end" : 14311, + "name" : "GT" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "ISZERO" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPI" + }, + { + "begin" : 14353, + "end" : 14354, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14328, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14329, + "end" : 14339, + "name" : "CALLER" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14341, + "end" : 14349, + "name" : "DUP7" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SSTORE" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 14420, + "end" : 14436, + "name" : "DUP4" + }, + { + "begin" : 14407, + "end" : 14415, + "name" : "DUP3" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP2" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "AND" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMPDEST" + }, + { + "begin" : 14375, + "end" : 14382, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14383, + "end" : 14393, + "name" : "CALLER" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14395, + "end" : 14403, + "name" : "DUP7" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SSTORE" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14470, + "end" : 14478, + "name" : "DUP4" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14458, + "end" : 14468, + "name" : "CALLER" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14480, + "end" : 14487, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14488, + "end" : 14498, + "name" : "CALLER" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14500, + "end" : 14508, + "name" : "DUP9" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP3" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MSTORE" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "ADD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SUB" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "LOG3" + }, + { + "begin" : 14523, + "end" : 14527, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "SWAP2" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15790, + "end" : 15794, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15820, + "end" : 15824, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "EXP" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SLOAD" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "NOT" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "AND" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP4" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "OR" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SSTORE" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "POP" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "DUP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP2" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SUB" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "LOG1" + }, + { + "begin" : 15857, + "end" : 15861, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "SWAP1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "85" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "85" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13951, + "end" : 13955, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH [tag]", + "value" : "87" + }, + { + "begin" : 14029, + "end" : 14040, + "name" : "DUP3" + }, + { + "begin" : 13995, + "end" : 14002, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14003, + "end" : 14013, + "name" : "CALLER" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14015, + "end" : 14023, + "name" : "DUP7" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SLOAD" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP2" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "tag", + "value" : "87" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMPDEST" + }, + { + "begin" : 13963, + "end" : 13970, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13971, + "end" : 13981, + "name" : "CALLER" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13983, + "end" : 13991, + "name" : "DUP6" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SSTORE" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "POP" + }, + { + "begin" : 14068, + "end" : 14076, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14056, + "end" : 14066, + "name" : "CALLER" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14078, + "end" : 14085, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14086, + "end" : 14096, + "name" : "CALLER" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14098, + "end" : 14106, + "name" : "DUP8" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MSTORE" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "ADD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SUB" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "LOG3" + }, + { + "begin" : 14121, + "end" : 14125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "SWAP1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13581, + "end" : 13588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13610, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13611, + "end" : 13617, + "name" : "DUP5" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13619, + "end" : 13627, + "name" : "DUP4" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SLOAD" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + } + } + }, + "bin" : "6060604052341561000f57600080fd5b6040516080806133cb8339810160405280805190602001909190805190602001909190805190602001909190805190602001909190505042841015151561005557600080fd5b83831015151561006457600080fd5b60008211151561007357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100af57600080fd5b6100ca6101686401000000000261058a176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181905550826002819055508160048190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505061019d565b600061017261018d565b604051809103906000f080151561018857600080fd5b905090565b60405161161a80611db183390190565b611c05806101ac6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632c4e722e146100995780633197cbb6146100c25780634042b66f146100eb578063521eb2731461011457806378e9792514610169578063ec8ac4d814610192578063ecb70fb7146101c0578063fc0c546a146101ed575b61009733610242565b005b34156100a457600080fd5b6100ac61042b565b6040518082815260200191505060405180910390f35b34156100cd57600080fd5b6100d5610431565b6040518082815260200191505060405180910390f35b34156100f657600080fd5b6100fe610437565b6040518082815260200191505060405180910390f35b341561011f57600080fd5b61012761043d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c610463565b6040518082815260200191505060405180910390f35b6101be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610242565b005b34156101cb57600080fd5b6101d3610469565b604051808215151515815260200191505060405180910390f35b34156101f857600080fd5b610200610475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561028157600080fd5b61028961049a565b151561029457600080fd5b3491506102ac600454836104cd90919063ffffffff16565b90506102c38260055461050890919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561039557600080fd5b6102c65a03f115156103a657600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610426610526565b505050565b60045481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60006002544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060015442101580156104b357506002544211155b9150600034141590508180156104c65750805b9250505090565b60008060008414156104e25760009150610501565b82840290508284828115156104f357fe5b041415156104fd57fe5b8091505b5092915050565b600080828401905083811015151561051c57fe5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561058857600080fd5b565b60006105946105af565b604051809103906000f08015156105aa57600080fd5b905090565b60405161161a806105c083390190560060606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029a165627a7a72305820ed11e634974495ba3c860db83a7b55bb56653b9c86de89bd90456d50c55783fe002960606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + "bin-runtime" : "60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632c4e722e146100995780633197cbb6146100c25780634042b66f146100eb578063521eb2731461011457806378e9792514610169578063ec8ac4d814610192578063ecb70fb7146101c0578063fc0c546a146101ed575b61009733610242565b005b34156100a457600080fd5b6100ac61042b565b6040518082815260200191505060405180910390f35b34156100cd57600080fd5b6100d5610431565b6040518082815260200191505060405180910390f35b34156100f657600080fd5b6100fe610437565b6040518082815260200191505060405180910390f35b341561011f57600080fd5b61012761043d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c610463565b6040518082815260200191505060405180910390f35b6101be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610242565b005b34156101cb57600080fd5b6101d3610469565b604051808215151515815260200191505060405180910390f35b34156101f857600080fd5b610200610475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561028157600080fd5b61028961049a565b151561029457600080fd5b3491506102ac600454836104cd90919063ffffffff16565b90506102c38260055461050890919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561039557600080fd5b6102c65a03f115156103a657600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610426610526565b505050565b60045481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60006002544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060015442101580156104b357506002544211155b9150600034141590508180156104c65750805b9250505090565b60008060008414156104e25760009150610501565b82840290508284828115156104f357fe5b041415156104fd57fe5b8091505b5092915050565b600080828401905083811015151561051c57fe5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561058857600080fd5b565b60006105946105af565b604051809103906000f08015156105aa57600080fd5b905090565b60405161161a806105c083390190560060606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029a165627a7a72305820ed11e634974495ba3c860db83a7b55bb56653b9c86de89bd90456d50c55783fe0029", + "clone-bin" : "", + "devdoc" : "{\"methods\":{},\"title\":\"Crowdsale\"}", + "hashes" : { + "buyTokens(address)" : "ec8ac4d8", + "endTime()" : "3197cbb6", + "hasEnded()" : "ecb70fb7", + "rate()" : "2c4e722e", + "startTime()" : "78e97925", + "token()" : "fc0c546a", + "wallet()" : "521eb273", + "weiRaised()" : "4042b66f" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"endTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"startTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_endTime\",\"type\":\"uint256\"},{\"name\":\"_rate\",\"type\":\"uint256\"},{\"name\":\"_wallet\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenPurchase\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{},\"title\":\"Crowdsale\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"Crowdsale\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP1 PUSH2 0x33CB DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP TIMESTAMP DUP5 LT ISZERO ISZERO ISZERO PUSH2 0x55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP4 LT ISZERO ISZERO ISZERO PUSH2 0x64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCA PUSH2 0x168 PUSH5 0x100000000 MUL PUSH2 0x58A OR PUSH5 0x100000000 SWAP1 DIV JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x1 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x4 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP POP PUSH2 0x19D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x172 PUSH2 0x18D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO ISZERO PUSH2 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x161A DUP1 PUSH2 0x1DB1 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x1C05 DUP1 PUSH2 0x1AC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8E JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x2C4E722E EQ PUSH2 0x99 JUMPI DUP1 PUSH4 0x3197CBB6 EQ PUSH2 0xC2 JUMPI DUP1 PUSH4 0x4042B66F EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0x521EB273 EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0x78E97925 EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0xEC8AC4D8 EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0xECB70FB7 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x1ED JUMPI JUMPDEST PUSH2 0x97 CALLER PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAC PUSH2 0x42B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD5 PUSH2 0x431 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFE PUSH2 0x437 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x127 PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x174 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17C PUSH2 0x463 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BE PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x1CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D3 PUSH2 0x469 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x200 PUSH2 0x475 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x289 PUSH2 0x49A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x294 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE SWAP2 POP PUSH2 0x2AC PUSH1 0x4 SLOAD DUP4 PUSH2 0x4CD SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x2C3 DUP3 PUSH1 0x5 SLOAD PUSH2 0x508 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40C10F19 DUP5 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD MSTORE PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO ISZERO PUSH2 0x395 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 GAS SUB CALL ISZERO ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x623B3804FA71D67900D064613DA8F94B9617215EE90799290593E1745087AD18 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x426 PUSH2 0x526 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD TIMESTAMP GT SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x1 SLOAD TIMESTAMP LT ISZERO DUP1 ISZERO PUSH2 0x4B3 JUMPI POP PUSH1 0x2 SLOAD TIMESTAMP GT ISZERO JUMPDEST SWAP2 POP PUSH1 0x0 CALLVALUE EQ ISZERO SWAP1 POP DUP2 DUP1 ISZERO PUSH2 0x4C6 JUMPI POP DUP1 JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 EQ ISZERO PUSH2 0x4E2 JUMPI PUSH1 0x0 SWAP2 POP PUSH2 0x501 JUMP JUMPDEST DUP3 DUP5 MUL SWAP1 POP DUP3 DUP5 DUP3 DUP2 ISZERO ISZERO PUSH2 0x4F3 JUMPI INVALID JUMPDEST DIV EQ ISZERO ISZERO PUSH2 0x4FD JUMPI INVALID JUMPDEST DUP1 SWAP2 POP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x51C JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO ISZERO PUSH2 0x588 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x594 PUSH2 0x5AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x161A DUP1 PUSH2 0x5C0 DUP4 CODECOPY ADD SWAP1 JUMP STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x15AB DUP1 PUSH2 0x6F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x321 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x3D0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x42A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x496 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH2 0x4CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x164 PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x5DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xB81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xE12 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x307 PUSH2 0xE5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x334 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x410 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x116D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x480 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x1369 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x13F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x6F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x742 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x7D7 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x8A9 DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xA13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA28 DUP3 PUSH1 0x0 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0xA80 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xC92 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xD26 JUMP JUMPDEST PUSH2 0xCA5 DUP4 DUP3 PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xF86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xFD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1026 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10BB DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11FE DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x144C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1556 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x1575 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 BYTE DUP3 0xaa ORIGIN 0x4d SUB 0x23 PUSH4 0x645AFBC9 CALLDATACOPY CALLER 0xc5 ISZERO 0xdf 0xe4 0x2a EXTCODESIZE 0xd3 PUSH13 0xAA6853B0480EC5F02E890029A1 PUSH6 0x627A7A723058 KECCAK256 0xed GT 0xe6 CALLVALUE SWAP8 DIFFICULTY SWAP6 0xba EXTCODECOPY DUP7 0xd 0xb8 GASPRICE PUSH28 0x55BB56653B9C86DE89BD90456D50C55783FE00296060604052600060 SUB PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x15AB DUP1 PUSH2 0x6F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x321 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x3D0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x42A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x496 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH2 0x4CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x164 PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x5DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xB81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xE12 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x307 PUSH2 0xE5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x334 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x410 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x116D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x480 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x1369 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x13F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x6F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x742 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x7D7 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x8A9 DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xA13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA28 DUP3 PUSH1 0x0 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0xA80 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xC92 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xD26 JUMP JUMPDEST PUSH2 0xCA5 DUP4 DUP3 PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xF86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xFD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1026 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10BB DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11FE DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x144C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1556 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x1575 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 BYTE DUP3 0xaa ORIGIN 0x4d SUB 0x23 PUSH4 0x645AFBC9 CALLDATACOPY CALLER 0xc5 ISZERO 0xdf 0xe4 0x2a EXTCODESIZE 0xd3 PUSH13 0xAA6853B0480EC5F02E89002900 ", + "srcmap" : "17066:2522:0:-;;;17847:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17971:3;17957:10;:17;;17949:26;;;;;;;;18001:10;17989:8;:22;;17981:31;;;;;;;;18034:1;18026:5;:9;18018:18;;;;;;;;18069:1;18050:21;;:7;:21;;;;18042:30;;;;;;;;18087:21;:19;;;;;:21;;;:::i;:::-;18079:5;;:29;;;;;;;;;;;;;;;;;;18126:10;18114:9;:22;;;;18152:8;18142:7;:18;;;;18173:5;18166:4;:12;;;;18193:7;18184:6;;:16;;;;;;;;;;;;;;;;;;17847:358;;;;17066:2522;;18318:101;18367:13;18395:19;;:::i;:::-;;;;;;;;;;;;;;;;;;18388:26;;18318:101;:::o;17066:2522::-;;;;;;;;;;:::o;:::-;;;;;;;", + "srcmap-runtime" : "17066:2522:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18508:21;18518:10;18508:9;:21::i;:::-;17066:2522;17421:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17282:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17480:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17348:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17254:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18577:438;;;;;;;;;;;;;;;;;;;;19506:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17146:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18577:438;18709:17;18789:14;18669:1;18646:25;;:11;:25;;;;18638:34;;;;;;;;18686:15;:13;:15::i;:::-;18678:24;;;;;;;;18729:9;18709:29;;18806:19;18820:4;;18806:9;:13;;:19;;;;:::i;:::-;18789:36;;18864:24;18878:9;18864;;:13;;:24;;;;:::i;:::-;18852:9;:36;;;;18895:5;;;;;;;;;;;:10;;;18906:11;18919:6;18895:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18958:11;18932:57;;18946:10;18932:57;;;18971:9;18982:6;18932:57;;;;;;;;;;;;;;;;;;;;;;;;18996:14;:12;:14::i;:::-;18577:438;;;:::o;17421:19::-;;;;:::o;17282:22::-;;;;:::o;17480:24::-;;;;:::o;17348:21::-;;;;;;;;;;;;;:::o;17254:24::-;;;;:::o;19506:78::-;19547:4;19572:7;;19566:3;:13;19559:20;;19506:78;:::o;17146:26::-;;;;;;;;;;;;;:::o;19249:206::-;19297:4;19309:17;19369:20;19336:9;;19329:3;:16;;:34;;;;;19356:7;;19349:3;:14;;19329:34;19309:54;;19405:1;19392:9;:14;;19369:37;;19419:12;:31;;;;;19435:15;19419:31;19412:38;;19249:206;;;:::o;3688:173::-;3746:7;3801:9;3770:1;3765;:6;3761:35;;;3788:1;3781:8;;;;3761:35;3817:1;3813;:5;3801:17;;3840:1;3835;3831;:5;;;;;;;;:10;3824:18;;;;;;3855:1;3848:8;;3688:173;;;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o;19123:70::-;19162:6;;;;;;;;;;;:15;;:26;19178:9;19162:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19123:70::o;18318:101::-;18367:13;18395:19;;:::i;:::-;;;;;;;;;;;;;;;;;;18388:26;;18318:101;:::o;-1:-1:-1:-;;;;;;;;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:ERC20" : { + "abi" : "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : null, + "bin" : "", + "bin-runtime" : "", + "clone-bin" : "", + "devdoc" : "{\"methods\":{},\"title\":\"ERC20 interface\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd" + }, + "metadata" : "", + "opcodes" : "", + "srcmap" : "", + "srcmap-runtime" : "", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:ERC20Basic" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : null, + "bin" : "", + "bin-runtime" : "", + "clone-bin" : "", + "devdoc" : "{\"methods\":{},\"title\":\"ERC20Basic\"}", + "hashes" : { + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb" + }, + "metadata" : "", + "opcodes" : "", + "srcmap" : "", + "srcmap-runtime" : "", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:FinalizableCrowdsale" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"rate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"endTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"weiRaised\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"startTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFinalized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hasEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Finalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenPurchase\",\"type\":\"event\"}]", + "asm" : null, + "bin" : "", + "bin-runtime" : "", + "clone-bin" : "", + "devdoc" : "{\"methods\":{\"finalize()\":{\"details\":\"Must be called after crowdsale ends, to do some extra finalization work. Calls the contract's finalization function.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"FinalizableCrowdsale\"}", + "hashes" : { + "buyTokens(address)" : "ec8ac4d8", + "endTime()" : "3197cbb6", + "finalize()" : "4bb278f3", + "hasEnded()" : "ecb70fb7", + "isFinalized()" : "8d4e4083", + "owner()" : "8da5cb5b", + "rate()" : "2c4e722e", + "startTime()" : "78e97925", + "token()" : "fc0c546a", + "transferOwnership(address)" : "f2fde38b", + "wallet()" : "521eb273", + "weiRaised()" : "4042b66f" + }, + "metadata" : "", + "opcodes" : "", + "srcmap" : "", + "srcmap-runtime" : "", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:MintableToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 15046, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "NOT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP4" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MUL" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "OR" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CODECOPY" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + ".code" : [ + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "MSTORE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATASIZE" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "LT" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "SWAP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DIV" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "AND" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "EQ" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPI" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "JUMPDEST" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "DUP1" + }, + { + "begin" : 14888, + "end" : 15868, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "CALLVALUE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPI" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "REVERT" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ISZERO" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MSTORE" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "ADD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "POP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "MLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SUB" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "RETURN" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLVALUE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPI" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "AND" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MSTORE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SUB" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLVALUE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPI" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "REVERT" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MSTORE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SUB" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "RETURN" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLVALUE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPI" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "REVERT" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "AND" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "CALLDATALOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ISZERO" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MSTORE" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "ADD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "MLOAD" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "DUP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SUB" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP1" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "RETURN" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLVALUE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPI" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "REVERT" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "AND" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MSTORE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SUB" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "CALLVALUE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPI" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "REVERT" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP3" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ISZERO" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MSTORE" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "ADD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "MLOAD" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "DUP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP2" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SUB" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLVALUE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPI" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "REVERT" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "AND" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MSTORE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SUB" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "RETURN" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLVALUE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPI" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "REVERT" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "AND" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MSTORE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SUB" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "RETURN" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLVALUE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ISZERO" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPI" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "REVERT" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MSTORE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SUB" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMPDEST" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SLOAD" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "EXP" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "SWAP1" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DIV" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "AND" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "DUP2" + }, + { + "begin" : 15016, + "end" : 15051, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13072, + "end" : 13076, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13116, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13091, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13092, + "end" : 13102, + "name" : "CALLER" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13104, + "end" : 13112, + "name" : "DUP6" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SSTORE" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "POP" + }, + { + "begin" : 13149, + "end" : 13157, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13137, + "end" : 13147, + "name" : "CALLER" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 13159, + "end" : 13165, + "name" : "DUP5" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MSTORE" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "ADD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SUB" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "LOG3" + }, + { + "begin" : 13179, + "end" : 13183, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "SWAP1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 12025, + "end" : 12029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12060, + "end" : 12061, + "name" : "DUP1" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12048, + "name" : "DUP4" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "EQ" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPI" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "DUP1" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "REVERT" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPDEST" + }, + { + "begin" : 12087, + "end" : 12095, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12096, + "end" : 12101, + "name" : "DUP6" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SWAP1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "KECCAK256" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SLOAD" + }, + { + "begin" : 12077, + "end" : 12083, + "name" : "DUP3" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "GT" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPI" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "DUP1" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "REVERT" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPDEST" + }, + { + "begin" : 12127, + "end" : 12134, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12135, + "end" : 12140, + "name" : "DUP6" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12142, + "end" : 12152, + "name" : "CALLER" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SLOAD" + }, + { + "begin" : 12117, + "end" : 12123, + "name" : "DUP3" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "GT" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPI" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "DUP1" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "REVERT" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPDEST" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 12199, + "end" : 12205, + "name" : "DUP3" + }, + { + "begin" : 12179, + "end" : 12187, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12188, + "end" : 12193, + "name" : "DUP8" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "KECCAK256" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SLOAD" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP2" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMPDEST" + }, + { + "begin" : 12161, + "end" : 12169, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12170, + "end" : 12175, + "name" : "DUP7" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "KECCAK256" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SSTORE" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "POP" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 12246, + "end" : 12252, + "name" : "DUP3" + }, + { + "begin" : 12228, + "end" : 12236, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12237, + "end" : 12240, + "name" : "DUP7" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "KECCAK256" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SLOAD" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP2" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMPDEST" + }, + { + "begin" : 12212, + "end" : 12220, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12221, + "end" : 12224, + "name" : "DUP6" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "KECCAK256" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SSTORE" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "POP" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 12319, + "end" : 12325, + "name" : "DUP3" + }, + { + "begin" : 12288, + "end" : 12295, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12296, + "end" : 12301, + "name" : "DUP8" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12303, + "end" : 12313, + "name" : "CALLER" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SLOAD" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP2" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMPDEST" + }, + { + "begin" : 12259, + "end" : 12266, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12267, + "end" : 12272, + "name" : "DUP7" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12274, + "end" : 12284, + "name" : "CALLER" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SSTORE" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "POP" + }, + { + "begin" : 12348, + "end" : 12351, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12341, + "end" : 12346, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 12353, + "end" : 12359, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MSTORE" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "ADD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SUB" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "LOG3" + }, + { + "begin" : 12373, + "end" : 12377, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "SWAP1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMPDEST" + }, + { + "begin" : 15433, + "end" : 15437, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 15475, + "end" : 15482, + "name" : "DUP3" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15459, + "end" : 15470, + "name" : "SLOAD" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15459, + "end" : 15474, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP2" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "AND" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 15459, + "end" : 15483, + "name" : "JUMPDEST" + }, + { + "begin" : 15445, + "end" : 15456, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "DUP2" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SWAP1" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "SSTORE" + }, + { + "begin" : 15445, + "end" : 15483, + "name" : "POP" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 15523, + "end" : 15530, + "name" : "DUP3" + }, + { + "begin" : 15505, + "end" : 15513, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15514, + "end" : 15517, + "name" : "DUP7" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "DUP2" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "MSTORE" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "ADD" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "KECCAK256" + }, + { + "begin" : 15505, + "end" : 15518, + "name" : "SLOAD" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 15505, + "end" : 15522, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP2" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "AND" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 15505, + "end" : 15531, + "name" : "JUMPDEST" + }, + { + "begin" : 15489, + "end" : 15497, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15498, + "end" : 15501, + "name" : "DUP6" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "AND" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "MSTORE" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "ADD" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15489, + "end" : 15502, + "name" : "KECCAK256" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "DUP2" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SWAP1" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "SSTORE" + }, + { + "begin" : 15489, + "end" : 15531, + "name" : "POP" + }, + { + "begin" : 15542, + "end" : 15545, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "AND" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 15547, + "end" : 15554, + "name" : "DUP4" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP3" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MSTORE" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "ADD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "POP" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "MLOAD" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "DUP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP2" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SUB" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "SWAP1" + }, + { + "begin" : 15537, + "end" : 15555, + "name" : "LOG2" + }, + { + "begin" : 15582, + "end" : 15585, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15578, + "end" : 15579, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "AND" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 15587, + "end" : 15594, + "name" : "DUP5" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP3" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MSTORE" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "ADD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "POP" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "MLOAD" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "DUP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP2" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SUB" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "SWAP1" + }, + { + "begin" : 15561, + "end" : 15595, + "name" : "LOG3" + }, + { + "begin" : 15608, + "end" : 15612, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "SWAP1" + }, + { + "begin" : 15601, + "end" : 15612, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP3" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "SWAP2" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "POP" + }, + { + "begin" : 15355, + "end" : 15617, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14217, + "end" : 14221, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14229, + "end" : 14242, + "name" : "DUP1" + }, + { + "begin" : 14245, + "end" : 14252, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14253, + "end" : 14263, + "name" : "CALLER" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14265, + "end" : 14273, + "name" : "DUP6" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SLOAD" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "POP" + }, + { + "begin" : 14303, + "end" : 14311, + "name" : "DUP1" + }, + { + "begin" : 14284, + "end" : 14300, + "name" : "DUP4" + }, + { + "begin" : 14284, + "end" : 14311, + "name" : "GT" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "ISZERO" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPI" + }, + { + "begin" : 14353, + "end" : 14354, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14328, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14329, + "end" : 14339, + "name" : "CALLER" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14341, + "end" : 14349, + "name" : "DUP7" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SSTORE" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 14420, + "end" : 14436, + "name" : "DUP4" + }, + { + "begin" : 14407, + "end" : 14415, + "name" : "DUP3" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP2" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "AND" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMPDEST" + }, + { + "begin" : 14375, + "end" : 14382, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14383, + "end" : 14393, + "name" : "CALLER" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14395, + "end" : 14403, + "name" : "DUP7" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SSTORE" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14470, + "end" : 14478, + "name" : "DUP4" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14458, + "end" : 14468, + "name" : "CALLER" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14480, + "end" : 14487, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14488, + "end" : 14498, + "name" : "CALLER" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14500, + "end" : 14508, + "name" : "DUP9" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP3" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MSTORE" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "ADD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SUB" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "LOG3" + }, + { + "begin" : 14523, + "end" : 14527, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "SWAP2" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMPDEST" + }, + { + "begin" : 15790, + "end" : 15794, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SLOAD" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "EXP" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "SWAP1" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "DIV" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15091, + "end" : 15106, + "name" : "AND" + }, + { + "begin" : 15090, + "end" : 15106, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "ISZERO" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPI" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "DUP1" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "REVERT" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 15082, + "end" : 15107, + "name" : "JUMPDEST" + }, + { + "begin" : 15820, + "end" : 15824, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 15802, + "end" : 15817, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "EXP" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SLOAD" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP2" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "NOT" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "AND" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "DUP4" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "ISZERO" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "MUL" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "OR" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SWAP1" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "SSTORE" + }, + { + "begin" : 15802, + "end" : 15824, + "name" : "POP" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "MLOAD" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "DUP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP2" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SUB" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "SWAP1" + }, + { + "begin" : 15830, + "end" : 15844, + "name" : "LOG1" + }, + { + "begin" : 15857, + "end" : 15861, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "SWAP1" + }, + { + "begin" : 15850, + "end" : 15861, + "name" : "POP" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "SWAP1" + }, + { + "begin" : 15731, + "end" : 15866, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "85" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "85" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13951, + "end" : 13955, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH [tag]", + "value" : "87" + }, + { + "begin" : 14029, + "end" : 14040, + "name" : "DUP3" + }, + { + "begin" : 13995, + "end" : 14002, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14003, + "end" : 14013, + "name" : "CALLER" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14015, + "end" : 14023, + "name" : "DUP7" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SLOAD" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP2" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "tag", + "value" : "87" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMPDEST" + }, + { + "begin" : 13963, + "end" : 13970, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13971, + "end" : 13981, + "name" : "CALLER" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13983, + "end" : 13991, + "name" : "DUP6" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SSTORE" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "POP" + }, + { + "begin" : 14068, + "end" : 14076, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14056, + "end" : 14066, + "name" : "CALLER" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14078, + "end" : 14085, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14086, + "end" : 14096, + "name" : "CALLER" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14098, + "end" : 14106, + "name" : "DUP8" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MSTORE" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "ADD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SUB" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "LOG3" + }, + { + "begin" : 14121, + "end" : 14125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "SWAP1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13581, + "end" : 13588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13610, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13611, + "end" : 13617, + "name" : "DUP5" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13619, + "end" : 13627, + "name" : "DUP4" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SLOAD" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "60606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + "bin-runtime" : "6060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a723058201a82aa324d032363645afbc93733c515dfe42a3bd36caa6853b0480ec5f02e890029", + "clone-bin" : "60606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380606d6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Mintable token\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decreaseApproval(address,uint256)" : "66188463", + "finishMinting()" : "7d64bcb4", + "increaseApproval(address,uint256)" : "d73dd623", + "mint(address,uint256)" : "40c10f19", + "mintingFinished()" : "05d2035b", + "owner()" : "8da5cb5b", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Mintable token\"},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"MintableToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x15AB DUP1 PUSH2 0x6F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x321 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x3D0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x42A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x496 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH2 0x4CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x164 PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x5DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xB81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xE12 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x307 PUSH2 0xE5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x334 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x410 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x116D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x480 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x1369 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x13F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x6F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x742 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x7D7 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x8A9 DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xA13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA28 DUP3 PUSH1 0x0 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0xA80 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xC92 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xD26 JUMP JUMPDEST PUSH2 0xCA5 DUP4 DUP3 PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xF86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xFD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1026 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10BB DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11FE DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x144C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1556 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x1575 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 BYTE DUP3 0xaa ORIGIN 0x4d SUB 0x23 PUSH4 0x645AFBC9 CALLDATACOPY CALLER 0xc5 ISZERO 0xdf 0xe4 0x2a EXTCODESIZE 0xd3 PUSH13 0xAA6853B0480EC5F02E89002900 ", + "srcmap" : "14888:980:0:-;;;15046:5;15016:35;;;;;;;;;;;;;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;14888:980;;;;;;", + "srcmap-runtime" : "14888:980:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9381:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11943:439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15355:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10610:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10029:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13873:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:35;;;;;;;;;;;;;:::o;13005:183::-;13072:4;13116:6;13084:7;:19;13092:10;13084:19;;;;;;;;;;;;;;;:29;13104:8;13084:29;;;;;;;;;;;;;;;:38;;;;13149:8;13128:38;;13137:10;13128:38;;;13159:6;13128:38;;;;;;;;;;;;;;;;;;13179:4;13172:11;;13005:183;;;;:::o;9381:26::-;;;;:::o;11943:439::-;12025:4;12060:1;12045:17;;:3;:17;;;;12037:26;;;;;;;;12087:8;:15;12096:5;12087:15;;;;;;;;;;;;;;;;12077:6;:25;;12069:34;;;;;;;;12127:7;:14;12135:5;12127:14;;;;;;;;;;;;;;;:26;12142:10;12127:26;;;;;;;;;;;;;;;;12117:6;:36;;12109:45;;;;;;;;12179:27;12199:6;12179:8;:15;12188:5;12179:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12161:8;:15;12170:5;12161:15;;;;;;;;;;;;;;;:45;;;;12228:25;12246:6;12228:8;:13;12237:3;12228:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12212:8;:13;12221:3;12212:13;;;;;;;;;;;;;;;:41;;;;12288:38;12319:6;12288:7;:14;12296:5;12288:14;;;;;;;;;;;;;;;:26;12303:10;12288:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;12259:7;:14;12267:5;12259:14;;;;;;;;;;;;;;;:26;12274:10;12259:26;;;;;;;;;;;;;;;:67;;;;12348:3;12332:28;;12341:5;12332:28;;;12353:6;12332:28;;;;;;;;;;;;;;;;;;12373:4;12366:11;;11943:439;;;;;:::o;15355:262::-;15433:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;15091:15;;;;;;;;;;;15090:16;15082:25;;;;;;;;15459:24;15475:7;15459:11;;:15;;:24;;;;:::i;:::-;15445:11;:38;;;;15505:26;15523:7;15505:8;:13;15514:3;15505:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;15489:8;:13;15498:3;15489:13;;;;;;;;;;;;;;;:42;;;;15542:3;15537:18;;;15547:7;15537:18;;;;;;;;;;;;;;;;;;15582:3;15561:34;;15578:1;15561:34;;;15587:7;15561:34;;;;;;;;;;;;;;;;;;15608:4;15601:11;;15355:262;;;;:::o;14134:398::-;14217:4;14229:13;14245:7;:19;14253:10;14245:19;;;;;;;;;;;;;;;:29;14265:8;14245:29;;;;;;;;;;;;;;;;14229:45;;14303:8;14284:16;:27;14280:164;;;14353:1;14321:7;:19;14329:10;14321:19;;;;;;;;;;;;;;;:29;14341:8;14321:29;;;;;;;;;;;;;;;:33;;;;14280:164;;;14407:30;14420:16;14407:8;:12;;:30;;;;:::i;:::-;14375:7;:19;14383:10;14375:19;;;;;;;;;;;;;;;:29;14395:8;14375:29;;;;;;;;;;;;;;;:62;;;;14280:164;14470:8;14449:61;;14458:10;14449:61;;;14480:7;:19;14488:10;14480:19;;;;;;;;;;;;;;;:29;14500:8;14480:29;;;;;;;;;;;;;;;;14449:61;;;;;;;;;;;;;;;;;;14523:4;14516:11;;14134:398;;;;;:::o;10610:107::-;10666:15;10696:8;:16;10705:6;10696:16;;;;;;;;;;;;;;;;10689:23;;10610:107;;;:::o;15731:135::-;15790:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;15091:15;;;;;;;;;;;15090:16;15082:25;;;;;;;;15820:4;15802:15;;:22;;;;;;;;;;;;;;;;;;15830:14;;;;;;;;;;15857:4;15850:11;;15731:135;:::o;291:20::-;;;;;;;;;;;;;:::o;10029:379::-;10092:4;10127:1;10112:17;;:3;:17;;;;10104:26;;;;;;;;10154:8;:20;10163:10;10154:20;;;;;;;;;;;;;;;;10144:6;:30;;10136:39;;;;;;;;10268:32;10293:6;10268:8;:20;10277:10;10268:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10245:8;:20;10254:10;10245:20;;;;;;;;;;;;;;;:55;;;;10322:25;10340:6;10322:8;:13;10331:3;10322:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10306:8;:13;10315:3;10306:13;;;;;;;;;;;;;;;:41;;;;10374:3;10353:33;;10362:10;10353:33;;;10379:6;10353:33;;;;;;;;;;;;;;;;;;10399:4;10392:11;;10029:379;;;;:::o;13873:257::-;13951:4;13995:46;14029:11;13995:7;:19;14003:10;13995:19;;;;;;;;;;;;;;;:29;14015:8;13995:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;13963:7;:19;13971:10;13963:19;;;;;;;;;;;;;;;:29;13983:8;13963:29;;;;;;;;;;;;;;;:78;;;;14068:8;14047:61;;14056:10;14047:61;;;14078:7;:19;14086:10;14078:19;;;;;;;;;;;;;;;:29;14098:8;14078:29;;;;;;;;;;;;;;;;14047:61;;;;;;;;;;;;;;;;;;14121:4;14114:11;;13873:257;;;;:::o;13507:126::-;13581:7;13603;:15;13611:6;13603:15;;;;;;;;;;;;;;;:25;13619:8;13603:25;;;;;;;;;;;;;;;;13596:32;;13507:126;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + }, + "build/flattened/BRDCrowdsale.sol:Ownable" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "CALLVALUE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "ISZERO" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPI" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 522, + "end" : 577, + "name" : "DUP1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "REVERT" + }, + { + "begin" : 522, + "end" : 577, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPDEST" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CODECOPY" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820db4f9a73ae9e7b5ec363f58a15531071822f065be5beb9d3cb64598101d23f860029", + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATASIZE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "LT" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATALOAD" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "SWAP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DIV" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "AND" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPDEST" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820db4f9a73ae9e7b5ec363f58a15531071822f065be5beb9d3cb64598101d23f860029", + "bin-runtime" : "60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820db4f9a73ae9e7b5ec363f58a15531071822f065be5beb9d3cb64598101d23f860029", + "clone-bin" : "60606040523415600e57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380605b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"}", + "hashes" : { + "owner()" : "8da5cb5b", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"Ownable\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x285 DUP1 PUSH2 0x5E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xdb 0x4f SWAP11 PUSH20 0xAE9E7B5EC363F58A15531071822F065BE5BEB9D3 0xcb PUSH5 0x598101D23F DUP7 STOP 0x29 ", + "srcmap" : "270:789:0:-;;;522:55;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;270:789;;;;;;", + "srcmap-runtime" : "270:789:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:SafeMath" : { + "abi" : "[]", + "asm" : { + ".code" : [ + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "MSTORE" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "CALLVALUE" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "ISZERO" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "JUMPI" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "DUP1" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "REVERT" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "JUMPDEST" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "DUP1" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "CODECOPY" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058200f1dc3bfc181ef4db7b290519beb4cbefc7f4fdc1d413cd54246effcffbbf2500029", + ".code" : [ + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "MSTORE" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "DUP1" + }, + { + "begin" : 3667, + "end" : 4379, + "name" : "REVERT" + } + ] + } + } + }, + "bin" : "60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058200f1dc3bfc181ef4db7b290519beb4cbefc7f4fdc1d413cd54246effcffbbf2500029", + "bin-runtime" : "6060604052600080fd00a165627a7a723058200f1dc3bfc181ef4db7b290519beb4cbefc7f4fdc1d413cd54246effcffbbf2500029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{},\"title\":\"SafeMath\"}", + "hashes" : {}, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"SafeMath\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH1 0xE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x35 DUP1 PUSH1 0x1B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xf 0x1d 0xc3 0xbf 0xc1 DUP2 0xef 0x4d 0xb7 0xb2 SWAP1 MLOAD SWAP12 0xeb 0x4c 0xbe 0xfc PUSH32 0x4FDC1D413CD54246EFFCFFBBF250002900000000000000000000000000000000 ", + "srcmap" : "3667:712:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "3667:712:0:-;;;;;", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsale.sol:StandardToken" : { + "abi" : "[{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "MSTORE" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "CALLVALUE" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "ISZERO" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "REVERT" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPDEST" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "CODECOPY" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820e840d125e77bcc86eacd4310c1729c736d1f6b22b039271a5ec280a47602ca790029", + ".code" : [ + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "MSTORE" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "CALLDATASIZE" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "LT" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "SWAP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DIV" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "AND" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "EQ" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPI" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "JUMPDEST" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "DUP1" + }, + { + "begin" : 11551, + "end" : 14535, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLVALUE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPI" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "REVERT" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "AND" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ISZERO" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MSTORE" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "ADD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "MLOAD" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "DUP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SUB" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP1" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "RETURN" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "CALLVALUE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ISZERO" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPI" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "REVERT" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP3" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MSTORE" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "ADD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "POP" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "MLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SUB" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SWAP1" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "RETURN" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLVALUE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPI" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "REVERT" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "AND" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "CALLDATALOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ISZERO" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MSTORE" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "ADD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "MLOAD" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "DUP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP2" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SUB" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP1" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "RETURN" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLVALUE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPI" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "REVERT" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "AND" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "CALLDATALOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ISZERO" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MSTORE" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "ADD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "MLOAD" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "DUP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SUB" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP1" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "RETURN" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLVALUE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ISZERO" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPI" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "REVERT" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "AND" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP3" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MSTORE" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "ADD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "MLOAD" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "DUP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SUB" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "RETURN" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLVALUE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPI" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "REVERT" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "AND" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "CALLDATALOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ISZERO" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MSTORE" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "ADD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "MLOAD" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "DUP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SUB" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP1" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "RETURN" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLVALUE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPI" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "REVERT" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "AND" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ISZERO" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MSTORE" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "ADD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "MLOAD" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "DUP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SUB" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP1" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "RETURN" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLVALUE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ISZERO" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPI" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "REVERT" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "CALLDATALOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "AND" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MSTORE" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "ADD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "MLOAD" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "DUP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SUB" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP1" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "RETURN" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMPDEST" + }, + { + "begin" : 13072, + "end" : 13076, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13116, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13091, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13092, + "end" : 13102, + "name" : "CALLER" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13103, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13104, + "end" : 13112, + "name" : "DUP6" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "AND" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "MSTORE" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "ADD" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13084, + "end" : 13113, + "name" : "KECCAK256" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "DUP2" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SWAP1" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "SSTORE" + }, + { + "begin" : 13084, + "end" : 13122, + "name" : "POP" + }, + { + "begin" : 13149, + "end" : 13157, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13137, + "end" : 13147, + "name" : "CALLER" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "AND" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 13159, + "end" : 13165, + "name" : "DUP5" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP3" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MSTORE" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "ADD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "POP" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "MLOAD" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "DUP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP2" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SUB" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "SWAP1" + }, + { + "begin" : 13128, + "end" : 13166, + "name" : "LOG3" + }, + { + "begin" : 13179, + "end" : 13183, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "SWAP1" + }, + { + "begin" : 13172, + "end" : 13183, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP3" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "SWAP2" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "POP" + }, + { + "begin" : 13005, + "end" : 13188, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMPDEST" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "SLOAD" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "DUP2" + }, + { + "begin" : 9381, + "end" : 9407, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMPDEST" + }, + { + "begin" : 12025, + "end" : 12029, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12060, + "end" : 12061, + "name" : "DUP1" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12048, + "name" : "DUP4" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "AND" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "EQ" + }, + { + "begin" : 12045, + "end" : 12062, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "ISZERO" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPI" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "DUP1" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "REVERT" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 12037, + "end" : 12063, + "name" : "JUMPDEST" + }, + { + "begin" : 12087, + "end" : 12095, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12096, + "end" : 12101, + "name" : "DUP6" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "AND" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SWAP1" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "DUP2" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "MSTORE" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "ADD" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "KECCAK256" + }, + { + "begin" : 12087, + "end" : 12102, + "name" : "SLOAD" + }, + { + "begin" : 12077, + "end" : 12083, + "name" : "DUP3" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "GT" + }, + { + "begin" : 12077, + "end" : 12102, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "ISZERO" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPI" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "DUP1" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "REVERT" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 12069, + "end" : 12103, + "name" : "JUMPDEST" + }, + { + "begin" : 12127, + "end" : 12134, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12135, + "end" : 12140, + "name" : "DUP6" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12141, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12142, + "end" : 12152, + "name" : "CALLER" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "AND" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SWAP1" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "DUP2" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "MSTORE" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "ADD" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "KECCAK256" + }, + { + "begin" : 12127, + "end" : 12153, + "name" : "SLOAD" + }, + { + "begin" : 12117, + "end" : 12123, + "name" : "DUP3" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "GT" + }, + { + "begin" : 12117, + "end" : 12153, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "ISZERO" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPI" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "DUP1" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "REVERT" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 12109, + "end" : 12154, + "name" : "JUMPDEST" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 12199, + "end" : 12205, + "name" : "DUP3" + }, + { + "begin" : 12179, + "end" : 12187, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12188, + "end" : 12193, + "name" : "DUP8" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "DUP2" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "MSTORE" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "ADD" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "KECCAK256" + }, + { + "begin" : 12179, + "end" : 12194, + "name" : "SLOAD" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 12179, + "end" : 12198, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP2" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "AND" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 12179, + "end" : 12206, + "name" : "JUMPDEST" + }, + { + "begin" : 12161, + "end" : 12169, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12170, + "end" : 12175, + "name" : "DUP7" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "AND" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "MSTORE" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "ADD" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12161, + "end" : 12176, + "name" : "KECCAK256" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "DUP2" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SWAP1" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "SSTORE" + }, + { + "begin" : 12161, + "end" : 12206, + "name" : "POP" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 12246, + "end" : 12252, + "name" : "DUP3" + }, + { + "begin" : 12228, + "end" : 12236, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12237, + "end" : 12240, + "name" : "DUP7" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "DUP2" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "MSTORE" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "ADD" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "KECCAK256" + }, + { + "begin" : 12228, + "end" : 12241, + "name" : "SLOAD" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 12228, + "end" : 12245, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP2" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "AND" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 12228, + "end" : 12253, + "name" : "JUMPDEST" + }, + { + "begin" : 12212, + "end" : 12220, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12221, + "end" : 12224, + "name" : "DUP6" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "AND" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "MSTORE" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "ADD" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12212, + "end" : 12225, + "name" : "KECCAK256" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "DUP2" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SWAP1" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "SSTORE" + }, + { + "begin" : 12212, + "end" : 12253, + "name" : "POP" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 12319, + "end" : 12325, + "name" : "DUP3" + }, + { + "begin" : 12288, + "end" : 12295, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12296, + "end" : 12301, + "name" : "DUP8" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12302, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12303, + "end" : 12313, + "name" : "CALLER" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "DUP2" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "MSTORE" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "ADD" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "KECCAK256" + }, + { + "begin" : 12288, + "end" : 12314, + "name" : "SLOAD" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 12288, + "end" : 12318, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP2" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "AND" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 12288, + "end" : 12326, + "name" : "JUMPDEST" + }, + { + "begin" : 12259, + "end" : 12266, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12267, + "end" : 12272, + "name" : "DUP7" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12273, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12274, + "end" : 12284, + "name" : "CALLER" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "AND" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "MSTORE" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "ADD" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 12259, + "end" : 12285, + "name" : "KECCAK256" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "DUP2" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SWAP1" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "SSTORE" + }, + { + "begin" : 12259, + "end" : 12326, + "name" : "POP" + }, + { + "begin" : 12348, + "end" : 12351, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12341, + "end" : 12346, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "AND" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 12353, + "end" : 12359, + "name" : "DUP5" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP3" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MSTORE" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "ADD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "POP" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "MLOAD" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "DUP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP2" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SUB" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "SWAP1" + }, + { + "begin" : 12332, + "end" : 12360, + "name" : "LOG3" + }, + { + "begin" : 12373, + "end" : 12377, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "SWAP1" + }, + { + "begin" : 12366, + "end" : 12377, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP4" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "SWAP3" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "POP" + }, + { + "begin" : 11943, + "end" : 12382, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMPDEST" + }, + { + "begin" : 14217, + "end" : 14221, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14229, + "end" : 14242, + "name" : "DUP1" + }, + { + "begin" : 14245, + "end" : 14252, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14253, + "end" : 14263, + "name" : "CALLER" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14264, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14265, + "end" : 14273, + "name" : "DUP6" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "AND" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "DUP2" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "MSTORE" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "ADD" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "KECCAK256" + }, + { + "begin" : 14245, + "end" : 14274, + "name" : "SLOAD" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "SWAP1" + }, + { + "begin" : 14229, + "end" : 14274, + "name" : "POP" + }, + { + "begin" : 14303, + "end" : 14311, + "name" : "DUP1" + }, + { + "begin" : 14284, + "end" : 14300, + "name" : "DUP4" + }, + { + "begin" : 14284, + "end" : 14311, + "name" : "GT" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "ISZERO" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPI" + }, + { + "begin" : 14353, + "end" : 14354, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14328, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14329, + "end" : 14339, + "name" : "CALLER" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14340, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14341, + "end" : 14349, + "name" : "DUP7" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "AND" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "MSTORE" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "ADD" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14321, + "end" : 14350, + "name" : "KECCAK256" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "DUP2" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SWAP1" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "SSTORE" + }, + { + "begin" : 14321, + "end" : 14354, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 14420, + "end" : 14436, + "name" : "DUP4" + }, + { + "begin" : 14407, + "end" : 14415, + "name" : "DUP3" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 14407, + "end" : 14419, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP2" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "AND" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 14407, + "end" : 14437, + "name" : "JUMPDEST" + }, + { + "begin" : 14375, + "end" : 14382, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14383, + "end" : 14393, + "name" : "CALLER" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14394, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14395, + "end" : 14403, + "name" : "DUP7" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "AND" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "MSTORE" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "ADD" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14375, + "end" : 14404, + "name" : "KECCAK256" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "DUP2" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SWAP1" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "SSTORE" + }, + { + "begin" : 14375, + "end" : 14437, + "name" : "POP" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 14280, + "end" : 14444, + "name" : "JUMPDEST" + }, + { + "begin" : 14470, + "end" : 14478, + "name" : "DUP4" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14458, + "end" : 14468, + "name" : "CALLER" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "AND" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14480, + "end" : 14487, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14488, + "end" : 14498, + "name" : "CALLER" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14499, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14500, + "end" : 14508, + "name" : "DUP9" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "AND" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SWAP1" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "DUP2" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "MSTORE" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "ADD" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "KECCAK256" + }, + { + "begin" : 14480, + "end" : 14509, + "name" : "SLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP3" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MSTORE" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "ADD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "POP" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "MLOAD" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "DUP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP2" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SUB" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "SWAP1" + }, + { + "begin" : 14449, + "end" : 14510, + "name" : "LOG3" + }, + { + "begin" : 14523, + "end" : 14527, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "SWAP2" + }, + { + "begin" : 14516, + "end" : 14527, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP3" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "SWAP2" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "POP" + }, + { + "begin" : 14134, + "end" : 14532, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMPDEST" + }, + { + "begin" : 10666, + "end" : 10681, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10704, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10705, + "end" : 10711, + "name" : "DUP4" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "AND" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "DUP2" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "MSTORE" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "ADD" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "KECCAK256" + }, + { + "begin" : 10696, + "end" : 10712, + "name" : "SLOAD" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "SWAP1" + }, + { + "begin" : 10689, + "end" : 10712, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP2" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "SWAP1" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "POP" + }, + { + "begin" : 10610, + "end" : 10717, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMPDEST" + }, + { + "begin" : 10092, + "end" : 10096, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10127, + "end" : 10128, + "name" : "DUP1" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10115, + "name" : "DUP4" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "AND" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "EQ" + }, + { + "begin" : 10112, + "end" : 10129, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "ISZERO" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPI" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "DUP1" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "REVERT" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 10104, + "end" : 10130, + "name" : "JUMPDEST" + }, + { + "begin" : 10154, + "end" : 10162, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10163, + "end" : 10173, + "name" : "CALLER" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "AND" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SWAP1" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "DUP2" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "MSTORE" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "ADD" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "KECCAK256" + }, + { + "begin" : 10154, + "end" : 10174, + "name" : "SLOAD" + }, + { + "begin" : 10144, + "end" : 10150, + "name" : "DUP3" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "GT" + }, + { + "begin" : 10144, + "end" : 10174, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "ISZERO" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPI" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "DUP1" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "REVERT" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 10136, + "end" : 10175, + "name" : "JUMPDEST" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 10293, + "end" : 10299, + "name" : "DUP3" + }, + { + "begin" : 10268, + "end" : 10276, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10277, + "end" : 10287, + "name" : "CALLER" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "DUP2" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "MSTORE" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "ADD" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "KECCAK256" + }, + { + "begin" : 10268, + "end" : 10288, + "name" : "SLOAD" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 10268, + "end" : 10292, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP2" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "AND" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 10268, + "end" : 10300, + "name" : "JUMPDEST" + }, + { + "begin" : 10245, + "end" : 10253, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10254, + "end" : 10264, + "name" : "CALLER" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "AND" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "MSTORE" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "ADD" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10245, + "end" : 10265, + "name" : "KECCAK256" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "DUP2" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SWAP1" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "SSTORE" + }, + { + "begin" : 10245, + "end" : 10300, + "name" : "POP" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 10340, + "end" : 10346, + "name" : "DUP3" + }, + { + "begin" : 10322, + "end" : 10330, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10331, + "end" : 10334, + "name" : "DUP7" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "DUP2" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "MSTORE" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "ADD" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "KECCAK256" + }, + { + "begin" : 10322, + "end" : 10335, + "name" : "SLOAD" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 10322, + "end" : 10339, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP2" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "AND" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 10322, + "end" : 10347, + "name" : "JUMPDEST" + }, + { + "begin" : 10306, + "end" : 10314, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10315, + "end" : 10318, + "name" : "DUP6" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "AND" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "MSTORE" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "ADD" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 10306, + "end" : 10319, + "name" : "KECCAK256" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "DUP2" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SWAP1" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "SSTORE" + }, + { + "begin" : 10306, + "end" : 10347, + "name" : "POP" + }, + { + "begin" : 10374, + "end" : 10377, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10362, + "end" : 10372, + "name" : "CALLER" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "AND" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 10379, + "end" : 10385, + "name" : "DUP5" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP3" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MSTORE" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "ADD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "POP" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "MLOAD" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "DUP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP2" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SUB" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "SWAP1" + }, + { + "begin" : 10353, + "end" : 10386, + "name" : "LOG3" + }, + { + "begin" : 10399, + "end" : 10403, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "SWAP1" + }, + { + "begin" : 10392, + "end" : 10403, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP3" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "SWAP2" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "POP" + }, + { + "begin" : 10029, + "end" : 10408, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMPDEST" + }, + { + "begin" : 13951, + "end" : 13955, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 14029, + "end" : 14040, + "name" : "DUP3" + }, + { + "begin" : 13995, + "end" : 14002, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14003, + "end" : 14013, + "name" : "CALLER" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14014, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14015, + "end" : 14023, + "name" : "DUP7" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "DUP2" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "MSTORE" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "ADD" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "KECCAK256" + }, + { + "begin" : 13995, + "end" : 14024, + "name" : "SLOAD" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 13995, + "end" : 14028, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP2" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "AND" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 13995, + "end" : 14041, + "name" : "JUMPDEST" + }, + { + "begin" : 13963, + "end" : 13970, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13971, + "end" : 13981, + "name" : "CALLER" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13982, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13983, + "end" : 13991, + "name" : "DUP6" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "AND" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "MSTORE" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "ADD" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13963, + "end" : 13992, + "name" : "KECCAK256" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "DUP2" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SWAP1" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "SSTORE" + }, + { + "begin" : 13963, + "end" : 14041, + "name" : "POP" + }, + { + "begin" : 14068, + "end" : 14076, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14056, + "end" : 14066, + "name" : "CALLER" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "AND" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 14078, + "end" : 14085, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14086, + "end" : 14096, + "name" : "CALLER" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14097, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14098, + "end" : 14106, + "name" : "DUP8" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "AND" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SWAP1" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "DUP2" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "MSTORE" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "ADD" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "KECCAK256" + }, + { + "begin" : 14078, + "end" : 14107, + "name" : "SLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP3" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MSTORE" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "ADD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "POP" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "MLOAD" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "DUP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP2" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SUB" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "SWAP1" + }, + { + "begin" : 14047, + "end" : 14108, + "name" : "LOG3" + }, + { + "begin" : 14121, + "end" : 14125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "SWAP1" + }, + { + "begin" : 14114, + "end" : 14125, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP3" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "SWAP2" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "POP" + }, + { + "begin" : 13873, + "end" : 14130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMPDEST" + }, + { + "begin" : 13581, + "end" : 13588, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13610, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13611, + "end" : 13617, + "name" : "DUP5" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13618, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13619, + "end" : 13627, + "name" : "DUP4" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "AND" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "DUP2" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "MSTORE" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "ADD" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "KECCAK256" + }, + { + "begin" : 13603, + "end" : 13628, + "name" : "SLOAD" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "SWAP1" + }, + { + "begin" : 13596, + "end" : 13628, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP3" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "SWAP2" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "POP" + }, + { + "begin" : 13507, + "end" : 13633, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMPDEST" + }, + { + "begin" : 4192, + "end" : 4199, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4219, + "end" : 4220, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4215, + "name" : "DUP3" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "GT" + }, + { + "begin" : 4214, + "end" : 4220, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "ISZERO" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPI" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "INVALID" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 4207, + "end" : 4221, + "name" : "JUMPDEST" + }, + { + "begin" : 4238, + "end" : 4239, + "name" : "DUP2" + }, + { + "begin" : 4234, + "end" : 4235, + "name" : "DUP4" + }, + { + "begin" : 4234, + "end" : 4239, + "name" : "SUB" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "SWAP1" + }, + { + "begin" : 4227, + "end" : 4239, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP3" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "SWAP2" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "POP" + }, + { + "begin" : 4134, + "end" : 4244, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMPDEST" + }, + { + "begin" : 4306, + "end" : 4313, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4321, + "end" : 4330, + "name" : "DUP1" + }, + { + "begin" : 4337, + "end" : 4338, + "name" : "DUP3" + }, + { + "begin" : 4333, + "end" : 4334, + "name" : "DUP5" + }, + { + "begin" : 4333, + "end" : 4338, + "name" : "ADD" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "SWAP1" + }, + { + "begin" : 4321, + "end" : 4338, + "name" : "POP" + }, + { + "begin" : 4356, + "end" : 4357, + "name" : "DUP4" + }, + { + "begin" : 4351, + "end" : 4352, + "name" : "DUP2" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "LT" + }, + { + "begin" : 4351, + "end" : 4357, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "ISZERO" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPI" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "INVALID" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 4344, + "end" : 4358, + "name" : "JUMPDEST" + }, + { + "begin" : 4371, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "SWAP2" + }, + { + "begin" : 4364, + "end" : 4372, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP3" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "SWAP2" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "POP" + }, + { + "begin" : 4248, + "end" : 4377, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b610ff18061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a72305820e840d125e77bcc86eacd4310c1729c736d1f6b22b039271a5ec280a47602ca790029", + "bin-runtime" : "60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a72305820e840d125e77bcc86eacd4310c1729c736d1f6b22b039271a5ec280a47602ca790029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decreaseApproval(address,uint256)" : "66188463", + "increaseApproval(address,uint256)" : "d73dd623", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsale.sol\":\"StandardToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsale.sol\":{\"keccak256\":\"0xc420564819be61fd8726615a0bf399f882a5a5d14bd98ab9f7f157e27b8efd5e\",\"urls\":[\"bzzr://6ba369c75ec49a81c1f9ddf264d6a9d9e271ab1c3c89cf6bac8d729805b1f96c\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFF1 DUP1 PUSH2 0x1E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8E JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x18F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x290 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2EA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD3 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x100 PUSH2 0x448 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x44E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1CF PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x80D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x220 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xA9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x276 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xAE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D0 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xD0B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x340 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x48B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x564 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5B6 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x64B DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x71D DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0x91E JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x9B2 JUMP JUMPDEST PUSH2 0x931 DUP4 DUP3 PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xB24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xB72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC4 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xC59 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9C DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xF9C JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0xFBB JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe8 BLOCKHASH 0xd1 0x25 0xe7 PUSH28 0xCC86EACD4310C1729C736D1F6B22B039271A5EC280A47602CA790029 ", + "srcmap" : "11551:2984:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "11551:2984:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9381:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11943:439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10610:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10029:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13873:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:183;13072:4;13116:6;13084:7;:19;13092:10;13084:19;;;;;;;;;;;;;;;:29;13104:8;13084:29;;;;;;;;;;;;;;;:38;;;;13149:8;13128:38;;13137:10;13128:38;;;13159:6;13128:38;;;;;;;;;;;;;;;;;;13179:4;13172:11;;13005:183;;;;:::o;9381:26::-;;;;:::o;11943:439::-;12025:4;12060:1;12045:17;;:3;:17;;;;12037:26;;;;;;;;12087:8;:15;12096:5;12087:15;;;;;;;;;;;;;;;;12077:6;:25;;12069:34;;;;;;;;12127:7;:14;12135:5;12127:14;;;;;;;;;;;;;;;:26;12142:10;12127:26;;;;;;;;;;;;;;;;12117:6;:36;;12109:45;;;;;;;;12179:27;12199:6;12179:8;:15;12188:5;12179:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12161:8;:15;12170:5;12161:15;;;;;;;;;;;;;;;:45;;;;12228:25;12246:6;12228:8;:13;12237:3;12228:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12212:8;:13;12221:3;12212:13;;;;;;;;;;;;;;;:41;;;;12288:38;12319:6;12288:7;:14;12296:5;12288:14;;;;;;;;;;;;;;;:26;12303:10;12288:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;12259:7;:14;12267:5;12259:14;;;;;;;;;;;;;;;:26;12274:10;12259:26;;;;;;;;;;;;;;;:67;;;;12348:3;12332:28;;12341:5;12332:28;;;12353:6;12332:28;;;;;;;;;;;;;;;;;;12373:4;12366:11;;11943:439;;;;;:::o;14134:398::-;14217:4;14229:13;14245:7;:19;14253:10;14245:19;;;;;;;;;;;;;;;:29;14265:8;14245:29;;;;;;;;;;;;;;;;14229:45;;14303:8;14284:16;:27;14280:164;;;14353:1;14321:7;:19;14329:10;14321:19;;;;;;;;;;;;;;;:29;14341:8;14321:29;;;;;;;;;;;;;;;:33;;;;14280:164;;;14407:30;14420:16;14407:8;:12;;:30;;;;:::i;:::-;14375:7;:19;14383:10;14375:19;;;;;;;;;;;;;;;:29;14395:8;14375:29;;;;;;;;;;;;;;;:62;;;;14280:164;14470:8;14449:61;;14458:10;14449:61;;;14480:7;:19;14488:10;14480:19;;;;;;;;;;;;;;;:29;14500:8;14480:29;;;;;;;;;;;;;;;;14449:61;;;;;;;;;;;;;;;;;;14523:4;14516:11;;14134:398;;;;;:::o;10610:107::-;10666:15;10696:8;:16;10705:6;10696:16;;;;;;;;;;;;;;;;10689:23;;10610:107;;;:::o;10029:379::-;10092:4;10127:1;10112:17;;:3;:17;;;;10104:26;;;;;;;;10154:8;:20;10163:10;10154:20;;;;;;;;;;;;;;;;10144:6;:30;;10136:39;;;;;;;;10268:32;10293:6;10268:8;:20;10277:10;10268:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10245:8;:20;10254:10;10245:20;;;;;;;;;;;;;;;:55;;;;10322:25;10340:6;10322:8;:13;10331:3;10322:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10306:8;:13;10315:3;10306:13;;;;;;;;;;;;;;;:41;;;;10374:3;10353:33;;10362:10;10353:33;;;10379:6;10353:33;;;;;;;;;;;;;;;;;;10399:4;10392:11;;10029:379;;;;:::o;13873:257::-;13951:4;13995:46;14029:11;13995:7;:19;14003:10;13995:19;;;;;;;;;;;;;;;:29;14015:8;13995:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;13963:7;:19;13971:10;13963:19;;;;;;;;;;;;;;;:29;13983:8;13963:29;;;;;;;;;;;;;;;:78;;;;14068:8;14047:61;;14056:10;14047:61;;;14078:7;:19;14086:10;14078:19;;;;;;;;;;;;;;;:29;14098:8;14078:29;;;;;;;;;;;;;;;;14047:61;;;;;;;;;;;;;;;;;;14121:4;14114:11;;13873:257;;;;:::o;13507:126::-;13581:7;13603;:15;13611:6;13603:15;;;;;;;;;;;;;;;:25;13619:8;13603:25;;;;;;;;;;;;;;;;13596:32;;13507:126;;;;:::o;4134:110::-;4192:7;4219:1;4214;:6;;4207:14;;;;;;4238:1;4234;:5;4227:12;;4134:110;;;;:::o;4248:129::-;4306:7;4321:9;4337:1;4333;:5;4321:17;;4356:1;4351;:6;;4344:14;;;;;;4371:1;4364:8;;4248:129;;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + } + }, + "sourceList" : [ "build/flattened/BRDCrowdsale.sol" ], + "sources" : { + "build/flattened/BRDCrowdsale.sol" : { + "AST" : { + "absolutePath" : "build/flattened/BRDCrowdsale.sol", + "exportedSymbols" : { + "BRDCrowdsale" : [ 1889 ], + "BRDCrowdsaleAuthorizer" : [ 176 ], + "BRDLockup" : [ 569 ], + "BRDToken" : [ 1119 ], + "BasicToken" : [ 678 ], + "Crowdsale" : [ 1327 ], + "ERC20" : [ 718 ], + "ERC20Basic" : [ 596 ], + "FinalizableCrowdsale" : [ 1370 ], + "MintableToken" : [ 1051 ], + "Ownable" : [ 55 ], + "SafeMath" : [ 272 ], + "StandardToken" : [ 960 ] + }, + "id" : 1890, + "nodeType" : "SourceUnit", + "nodes" : [ + { + "id" : 1, + "literals" : [ "solidity", "^", "0.4", ".18" ], + "nodeType" : "PragmaDirective", + "src" : "0:24:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented" : true, + "id" : 55, + "linearizedBaseContracts" : [ 55 ], + "name" : "Ownable", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 3, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 55, + "src" : "291:20:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 2, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "291:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 9, + "name" : "OwnershipTransferred", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 8, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 5, + "indexed" : true, + "name" : "previousOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "344:29:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 4, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "344:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 7, + "indexed" : true, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "375:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 6, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "375:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "343:57:0" + }, + "src" : "317:84:0" + }, + { + "body" : { + "id" : 17, + "nodeType" : "Block", + "src" : "548:29:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 15, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 12, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "554:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 13, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "562:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 14, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "562:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "554:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 16, + "nodeType" : "ExpressionStatement", + "src" : "554:18:0" + } + ] + }, + "id" : 18, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "Ownable", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 10, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "538:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 11, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "548:0:0" + }, + "scope" : 55, + "src" : "522:55:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 28, + "nodeType" : "Block", + "src" : "679:46:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 24, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 21, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "693:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 22, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "693:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 23, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "707:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "693:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 20, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "685:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 25, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "685:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 26, + "nodeType" : "ExpressionStatement", + "src" : "685:28:0" + }, + { + "id" : 27, + "nodeType" : "PlaceholderStatement", + "src" : "719:1:0" + } + ] + }, + "id" : 29, + "name" : "onlyOwner", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 19, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "676:2:0" + }, + "src" : "658:67:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 53, + "nodeType" : "Block", + "src" : "949:107:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 41, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 37, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "963:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 39, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "983:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 38, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "975:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 40, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "975:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "963:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 36, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "955:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 42, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "955:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 43, + "nodeType" : "ExpressionStatement", + "src" : "955:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 45, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1013:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 46, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1020:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 44, + "name" : "OwnershipTransferred", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 9, + "src" : "992:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString" : "function (address,address)" + } + }, + "id" : 47, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "992:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 48, + "nodeType" : "ExpressionStatement", + "src" : "992:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 51, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 49, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1035:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 50, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1043:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "1035:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 52, + "nodeType" : "ExpressionStatement", + "src" : "1035:16:0" + } + ] + }, + "id" : 54, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 34, + "modifierName" : { + "argumentTypes" : null, + "id" : 33, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "939:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "939:9:0" + } + ], + "name" : "transferOwnership", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 32, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 31, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 54, + "src" : "914:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 30, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "914:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "913:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 35, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "949:0:0" + }, + "scope" : 55, + "src" : "887:169:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "270:789:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 56, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "1411:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 57, + "nodeType" : "InheritanceSpecifier", + "src" : "1411:7:0" + } + ], + "contractDependencies" : [ 55 ], + "contractKind" : "contract", + "documentation" : "Contract BRDCrowdsaleAuthorizer is used by the crowdsale website\nto autorize wallets to participate in the crowdsale. Because all\nparticipants must go through the KYC/AML phase, only accounts\nlisted in this contract may contribute to the crowdsale", + "fullyImplemented" : true, + "id" : 176, + "linearizedBaseContracts" : [ 176, 55 ], + "name" : "BRDCrowdsaleAuthorizer", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 61, + "name" : "authorizedAccounts", + "nodeType" : "VariableDeclaration", + "scope" : 176, + "src" : "1490:53:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "typeName" : { + "id" : 60, + "keyType" : { + "id" : 58, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1499:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "1490:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "valueType" : { + "id" : 59, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "1510:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 65, + "name" : "authorizers", + "nodeType" : "VariableDeclaration", + "scope" : 176, + "src" : "1604:46:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "typeName" : { + "id" : 64, + "keyType" : { + "id" : 62, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1613:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "1604:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "valueType" : { + "id" : 63, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "1624:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "anonymous" : false, + "id" : 69, + "name" : "Authorized", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 68, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 67, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 69, + "src" : "1718:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 66, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1718:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1717:21:0" + }, + "src" : "1701:38:0" + }, + { + "body" : { + "id" : 82, + "nodeType" : "Block", + "src" : "1969:101:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 80, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 76, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2031:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 78, + "indexExpression" : { + "argumentTypes" : null, + "id" : 77, + "name" : "_newAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 71, + "src" : "2043:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2031:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 79, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "2061:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "2031:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 81, + "nodeType" : "ExpressionStatement", + "src" : "2031:34:0" + } + ] + }, + "id" : 83, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 74, + "modifierName" : { + "argumentTypes" : null, + "id" : 73, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "1940:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "1940:21:0" + } + ], + "name" : "addAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 72, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 71, + "name" : "_newAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 83, + "src" : "1916:22:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 70, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1916:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1915:24:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 75, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "1969:0:0" + }, + "scope" : 176, + "src" : "1893:177:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 101, + "nodeType" : "Block", + "src" : "2302:200:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 91, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2394:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 93, + "indexExpression" : { + "argumentTypes" : null, + "id" : 92, + "name" : "_bannedAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 85, + "src" : "2406:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "2394:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 90, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "2386:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 94, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2386:39:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 95, + "nodeType" : "ExpressionStatement", + "src" : "2386:39:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 99, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "delete", + "prefix" : true, + "src" : "2460:37:0", + "subExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 96, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2467:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 98, + "indexExpression" : { + "argumentTypes" : null, + "id" : 97, + "name" : "_bannedAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 85, + "src" : "2479:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2467:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 100, + "nodeType" : "ExpressionStatement", + "src" : "2460:37:0" + } + ] + }, + "id" : 102, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 88, + "modifierName" : { + "argumentTypes" : null, + "id" : 87, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "2273:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "2273:21:0" + } + ], + "name" : "removeAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 86, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 85, + "name" : "_bannedAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 102, + "src" : "2246:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 84, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2246:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2245:27:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 89, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "2302:0:0" + }, + "scope" : 176, + "src" : "2220:282:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 125, + "nodeType" : "Block", + "src" : "2636:235:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "id" : 112, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "2646:32:0", + "subExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 109, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "2647:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 111, + "indexExpression" : { + "argumentTypes" : null, + "id" : 110, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2666:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "2647:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 124, + "nodeType" : "IfStatement", + "src" : "2642:225:0", + "trueBody" : { + "id" : 123, + "nodeType" : "Block", + "src" : "2680:187:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 117, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 113, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "2756:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 115, + "indexExpression" : { + "argumentTypes" : null, + "id" : 114, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2775:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2756:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 116, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "2790:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "2756:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 118, + "nodeType" : "ExpressionStatement", + "src" : "2756:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 120, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2848:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 119, + "name" : "Authorized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 69, + "src" : "2837:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString" : "function (address)" + } + }, + "id" : 121, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2837:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 122, + "nodeType" : "ExpressionStatement", + "src" : "2837:23:0" + } + ] + } + } + ] + }, + "id" : 126, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 107, + "modifierName" : { + "argumentTypes" : null, + "id" : 106, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "2607:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "2607:21:0" + } + ], + "name" : "authorizeAccount", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 105, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 104, + "name" : "_newAccount", + "nodeType" : "VariableDeclaration", + "scope" : 126, + "src" : "2586:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 103, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2586:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2585:21:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 108, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "2636:0:0" + }, + "scope" : 176, + "src" : "2560:311:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 144, + "nodeType" : "Block", + "src" : "3027:70:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 142, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 136, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 133, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "3040:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 134, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3040:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 135, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "3054:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "3040:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 141, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 137, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "3063:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 139, + "indexExpression" : { + "argumentTypes" : null, + "id" : 138, + "name" : "_account", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 128, + "src" : "3075:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3063:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 140, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3088:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "3063:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "3040:52:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 132, + "id" : 143, + "nodeType" : "Return", + "src" : "3033:59:0" + } + ] + }, + "id" : 145, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "isAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 129, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 128, + "name" : "_account", + "nodeType" : "VariableDeclaration", + "scope" : 145, + "src" : "2964:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 127, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2964:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2963:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 132, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 131, + "name" : "_isAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 145, + "src" : "3007:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 130, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3007:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3006:20:0" + }, + "scope" : 176, + "src" : "2942:155:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 158, + "nodeType" : "Block", + "src" : "3280:54:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 156, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 152, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "3293:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 154, + "indexExpression" : { + "argumentTypes" : null, + "id" : 153, + "name" : "_account", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 147, + "src" : "3312:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3293:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 155, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3325:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "3293:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 151, + "id" : 157, + "nodeType" : "Return", + "src" : "3286:43:0" + } + ] + }, + "id" : 159, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "isAuthorized", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 148, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 147, + "name" : "_account", + "nodeType" : "VariableDeclaration", + "scope" : 159, + "src" : "3219:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 146, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3219:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3218:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 151, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 150, + "name" : "_authorized", + "nodeType" : "VariableDeclaration", + "scope" : 159, + "src" : "3262:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 149, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3262:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3261:18:0" + }, + "scope" : 176, + "src" : "3197:137:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 174, + "nodeType" : "Block", + "src" : "3445:73:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 170, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 165, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 162, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "3459:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 163, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3459:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 164, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "3473:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "3459:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 166, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "3482:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 169, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 167, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "3494:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 168, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3494:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3482:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "3459:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 161, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "3451:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 171, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3451:55:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 172, + "nodeType" : "ExpressionStatement", + "src" : "3451:55:0" + }, + { + "id" : 173, + "nodeType" : "PlaceholderStatement", + "src" : "3512:1:0" + } + ] + }, + "id" : 175, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 160, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "3442:2:0" + }, + "src" : "3412:106:0", + "visibility" : "internal" + } + ], + "scope" : 1890, + "src" : "1376:2144:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "library", + "documentation" : "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented" : true, + "id" : 272, + "linearizedBaseContracts" : [ 272 ], + "name" : "SafeMath", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "body" : { + "id" : 208, + "nodeType" : "Block", + "src" : "3755:106:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 187, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 185, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "3765:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 186, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3770:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "3765:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 191, + "nodeType" : "IfStatement", + "src" : "3761:35:0", + "trueBody" : { + "id" : 190, + "nodeType" : "Block", + "src" : "3773:23:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 188, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3788:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "functionReturnParameters" : 184, + "id" : 189, + "nodeType" : "Return", + "src" : "3781:8:0" + } + ] + } + }, + { + "assignments" : [ 193 ], + "declarations" : [ + { + "constant" : false, + "id" : 193, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 209, + "src" : "3801:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 192, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3801:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 197, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 196, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 194, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "3813:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "*", + "rightExpression" : { + "argumentTypes" : null, + "id" : 195, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 180, + "src" : "3817:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3813:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "3801:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 203, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 201, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 199, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 193, + "src" : "3831:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 200, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "3835:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3831:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 202, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 180, + "src" : "3840:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3831:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 198, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1892, + "src" : "3824:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 204, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3824:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 205, + "nodeType" : "ExpressionStatement", + "src" : "3824:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 206, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 193, + "src" : "3855:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 184, + "id" : 207, + "nodeType" : "Return", + "src" : "3848:8:0" + } + ] + }, + "id" : 209, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "mul", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 181, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 178, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 209, + "src" : "3701:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 177, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3701:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 180, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 209, + "src" : "3712:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 179, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3712:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3700:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 184, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 183, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 209, + "src" : "3746:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 182, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3746:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3745:9:0" + }, + "scope" : 272, + "src" : "3688:173:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 226, + "nodeType" : "Block", + "src" : "3932:198:0", + "statements" : [ + { + "assignments" : [ 219 ], + "declarations" : [ + { + "constant" : false, + "id" : 219, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 227, + "src" : "4012:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 218, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4012:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 223, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 222, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 220, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 211, + "src" : "4024:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 221, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 213, + "src" : "4028:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4024:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "4012:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 224, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 219, + "src" : "4124:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 217, + "id" : 225, + "nodeType" : "Return", + "src" : "4117:8:0" + } + ] + }, + "id" : 227, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "div", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 214, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 211, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 227, + "src" : "3878:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 210, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3878:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 213, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 227, + "src" : "3889:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 212, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3889:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3877:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 217, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 216, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 227, + "src" : "3923:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 215, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3923:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3922:9:0" + }, + "scope" : 272, + "src" : "3865:265:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 246, + "nodeType" : "Block", + "src" : "4201:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 239, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 237, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 231, + "src" : "4214:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 238, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 229, + "src" : "4219:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4214:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 236, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1892, + "src" : "4207:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 240, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4207:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 241, + "nodeType" : "ExpressionStatement", + "src" : "4207:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 244, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 242, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 229, + "src" : "4234:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "-", + "rightExpression" : { + "argumentTypes" : null, + "id" : 243, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 231, + "src" : "4238:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4234:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 235, + "id" : 245, + "nodeType" : "Return", + "src" : "4227:12:0" + } + ] + }, + "id" : 247, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "sub", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 232, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 229, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "4147:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 228, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4147:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 231, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "4158:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 230, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4158:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4146:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 235, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 234, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "4192:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 233, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4192:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4191:9:0" + }, + "scope" : 272, + "src" : "4134:110:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 270, + "nodeType" : "Block", + "src" : "4315:62:0", + "statements" : [ + { + "assignments" : [ 257 ], + "declarations" : [ + { + "constant" : false, + "id" : 257, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "4321:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 256, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4321:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 261, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 260, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 258, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 249, + "src" : "4333:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "+", + "rightExpression" : { + "argumentTypes" : null, + "id" : 259, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 251, + "src" : "4337:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4333:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "4321:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 265, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 263, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 257, + "src" : "4351:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 264, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 249, + "src" : "4356:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4351:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 262, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1892, + "src" : "4344:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 266, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4344:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 267, + "nodeType" : "ExpressionStatement", + "src" : "4344:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 268, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 257, + "src" : "4371:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 255, + "id" : 269, + "nodeType" : "Return", + "src" : "4364:8:0" + } + ] + }, + "id" : 271, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "add", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 252, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 249, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "4261:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 248, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4261:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 251, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "4272:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 250, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4272:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4260:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 255, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 254, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "4306:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 253, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4306:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4305:9:0" + }, + "scope" : 272, + "src" : "4248:129:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + } + ], + "scope" : 1890, + "src" : "3667:712:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 273, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "4927:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 274, + "nodeType" : "InheritanceSpecifier", + "src" : "4927:7:0" + } + ], + "contractDependencies" : [ 55 ], + "contractKind" : "contract", + "documentation" : "Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens.\nPre-sold tokens are rewarded up to `numIntervals` times separated by an\n`interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`)\nis marked for reward each `interval`.\n * The owner of the contract will call processInterval() which will\nupdate the allocation state. The owner of the contract should then\nread the allocation data and reward the beneficiaries.", + "fullyImplemented" : true, + "id" : 569, + "linearizedBaseContracts" : [ 569, 55 ], + "name" : "BRDLockup", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 277, + "libraryName" : { + "contractScope" : null, + "id" : 275, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "4945:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "4939:27:0", + "typeName" : { + "id" : 276, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4958:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "canonicalName" : "BRDLockup.Allocation", + "id" : 288, + "members" : [ + { + "constant" : false, + "id" : 279, + "name" : "beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 288, + "src" : "5076:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 278, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "5076:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 281, + "name" : "allocation", + "nodeType" : "VariableDeclaration", + "scope" : 288, + "src" : "5136:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 280, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5136:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 283, + "name" : "remainingBalance", + "nodeType" : "VariableDeclaration", + "scope" : 288, + "src" : "5192:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 282, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5192:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 285, + "name" : "currentInterval", + "nodeType" : "VariableDeclaration", + "scope" : 288, + "src" : "5270:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 284, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5270:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 287, + "name" : "currentReward", + "nodeType" : "VariableDeclaration", + "scope" : 288, + "src" : "5345:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 286, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5345:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "name" : "Allocation", + "nodeType" : "StructDefinition", + "scope" : 569, + "src" : "5052:375:0", + "visibility" : "public" + }, + { + "constant" : false, + "id" : 291, + "name" : "allocations", + "nodeType" : "VariableDeclaration", + "scope" : 569, + "src" : "5457:31:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + }, + "typeName" : { + "baseType" : { + "contractScope" : null, + "id" : 289, + "name" : "Allocation", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 288, + "src" : "5457:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage_ptr", + "typeString" : "struct BRDLockup.Allocation storage pointer" + } + }, + "id" : 290, + "length" : null, + "nodeType" : "ArrayTypeName", + "src" : "5457:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage_ptr", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage pointer" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 293, + "name" : "unlockDate", + "nodeType" : "VariableDeclaration", + "scope" : 569, + "src" : "5544:25:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 292, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5544:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 295, + "name" : "currentInterval", + "nodeType" : "VariableDeclaration", + "scope" : 569, + "src" : "5607:30:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 294, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5607:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 297, + "name" : "intervalDuration", + "nodeType" : "VariableDeclaration", + "scope" : 569, + "src" : "5698:31:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 296, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5698:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 299, + "name" : "numIntervals", + "nodeType" : "VariableDeclaration", + "scope" : 569, + "src" : "5790:27:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 298, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5790:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 305, + "name" : "Lock", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 304, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 301, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 305, + "src" : "5833:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 300, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "5833:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 303, + "indexed" : false, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 305, + "src" : "5854:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 302, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5854:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5832:38:0" + }, + "src" : "5822:49:0" + }, + { + "anonymous" : false, + "id" : 311, + "name" : "Unlock", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 310, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 307, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 311, + "src" : "5888:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 306, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "5888:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 309, + "indexed" : false, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 311, + "src" : "5909:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 308, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5909:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5887:38:0" + }, + "src" : "5875:51:0" + }, + { + "body" : { + "id" : 336, + "nodeType" : "Block", + "src" : "6111:142:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 322, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 320, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 293, + "src" : "6117:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 321, + "name" : "_crowdsaleEndDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 313, + "src" : "6130:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6117:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 323, + "nodeType" : "ExpressionStatement", + "src" : "6117:30:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 326, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 324, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "6153:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 325, + "name" : "_numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 315, + "src" : "6168:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6153:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 327, + "nodeType" : "ExpressionStatement", + "src" : "6153:28:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 330, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 328, + "name" : "intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 297, + "src" : "6187:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 329, + "name" : "_intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 317, + "src" : "6206:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6187:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 331, + "nodeType" : "ExpressionStatement", + "src" : "6187:36:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 334, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 332, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "6229:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 333, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6247:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "6229:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 335, + "nodeType" : "ExpressionStatement", + "src" : "6229:19:0" + } + ] + }, + "id" : 337, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "BRDLockup", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 318, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 313, + "name" : "_crowdsaleEndDate", + "nodeType" : "VariableDeclaration", + "scope" : 337, + "src" : "6026:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 312, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "6026:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 315, + "name" : "_numIntervals", + "nodeType" : "VariableDeclaration", + "scope" : 337, + "src" : "6053:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 314, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "6053:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 317, + "name" : "_intervalDuration", + "nodeType" : "VariableDeclaration", + "scope" : 337, + "src" : "6076:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 316, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "6076:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6025:77:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 319, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "6111:0:0" + }, + "scope" : 569, + "src" : "6007:246:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 433, + "nodeType" : "Block", + "src" : "6392:1158:0", + "statements" : [ + { + "assignments" : [ 345 ], + "declarations" : [ + { + "constant" : false, + "id" : 345, + "name" : "_correctInterval", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "6441:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 344, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "6441:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 359, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 358, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 348, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 346, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "6465:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 347, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 293, + "src" : "6472:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6465:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 357, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 351, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 293, + "src" : "6494:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 349, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "6486:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 350, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "6486:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 352, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6486:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 355, + "name" : "intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 297, + "src" : "6528:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 353, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "6508:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 354, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "6508:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 356, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6508:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6486:59:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "6465:80:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "6441:104:0" + }, + { + "assignments" : [ 361 ], + "declarations" : [ + { + "constant" : false, + "id" : 361, + "name" : "_validInterval", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "6551:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 360, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "6551:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 365, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 364, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 362, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "6573:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 363, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "6591:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6573:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "6551:52:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 370, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 367, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "6613:17:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 366, + "name" : "_correctInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 345, + "src" : "6614:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "id" : 369, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "6634:15:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 368, + "name" : "_validInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 361, + "src" : "6635:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "6613:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 373, + "nodeType" : "IfStatement", + "src" : "6609:60:0", + "trueBody" : { + "expression" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 371, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6664:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "functionReturnParameters" : 343, + "id" : 372, + "nodeType" : "Return", + "src" : "6657:12:0" + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 379, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 374, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "6712:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "31", + "id" : 377, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6750:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_1_by_1", + "typeString" : "int_const 1" + }, + "value" : "1" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_1_by_1", + "typeString" : "int_const 1" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 375, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "6730:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 376, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "6730:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 378, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6730:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6712:40:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 380, + "nodeType" : "ExpressionStatement", + "src" : "6712:40:0" + }, + { + "assignments" : [ 382 ], + "declarations" : [ + { + "constant" : false, + "id" : 382, + "name" : "_allocationsIndex", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "6811:22:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 381, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "6811:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 385, + "initialValue" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 383, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "6836:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 384, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "length", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6836:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "6811:43:0" + }, + { + "body" : { + "id" : 429, + "nodeType" : "Block", + "src" : "6946:582:0", + "statements" : [ + { + "assignments" : [], + "declarations" : [ + { + "constant" : false, + "id" : 397, + "name" : "_amountToReward", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "7014:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 396, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "7014:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 398, + "initialValue" : null, + "nodeType" : "VariableDeclarationStatement", + "src" : "7014:23:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 401, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 399, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "7141:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 400, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "7160:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7141:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 420, + "nodeType" : "Block", + "src" : "7249:179:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 418, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 410, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 397, + "src" : "7357:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 416, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "7406:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 411, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "7375:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 413, + "indexExpression" : { + "argumentTypes" : null, + "id" : 412, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 387, + "src" : "7387:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7375:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 414, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "allocation", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 281, + "src" : "7375:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 415, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 227, + "src" : "7375:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 417, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "7375:44:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7357:62:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 419, + "nodeType" : "ExpressionStatement", + "src" : "7357:62:0" + } + ] + }, + "id" : 421, + "nodeType" : "IfStatement", + "src" : "7137:291:0", + "trueBody" : { + "id" : 409, + "nodeType" : "Block", + "src" : "7174:69:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 407, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 402, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 397, + "src" : "7184:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 403, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "7202:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 405, + "indexExpression" : { + "argumentTypes" : null, + "id" : 404, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 387, + "src" : "7214:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7202:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 406, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 283, + "src" : "7202:32:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7184:50:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 408, + "nodeType" : "ExpressionStatement", + "src" : "7184:50:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 427, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 422, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "7474:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 424, + "indexExpression" : { + "argumentTypes" : null, + "id" : 423, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 387, + "src" : "7486:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7474:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 425, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 287, + "src" : "7474:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 426, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 397, + "src" : "7506:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7474:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 428, + "nodeType" : "ExpressionStatement", + "src" : "7474:47:0" + } + ] + }, + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 392, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 390, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 387, + "src" : "6916:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 391, + "name" : "_allocationsIndex", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 382, + "src" : "6921:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6916:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 430, + "initializationExpression" : { + "assignments" : [ 387 ], + "declarations" : [ + { + "constant" : false, + "id" : 387, + "name" : "_i", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "6903:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 386, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "6903:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 389, + "initialValue" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 388, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6913:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "6903:11:0" + }, + "loopExpression" : { + "expression" : { + "argumentTypes" : null, + "id" : 394, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "++", + "prefix" : false, + "src" : "6940:4:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 393, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 387, + "src" : "6940:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 395, + "nodeType" : "ExpressionStatement", + "src" : "6940:4:0" + }, + "nodeType" : "ForStatement", + "src" : "6898:630:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 431, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "7541:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 343, + "id" : 432, + "nodeType" : "Return", + "src" : "7534:11:0" + } + ] + }, + "id" : 434, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 340, + "modifierName" : { + "argumentTypes" : null, + "id" : 339, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "6338:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "6338:9:0" + } + ], + "name" : "processInterval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 338, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "6335:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 343, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 342, + "name" : "_shouldProcessRewards", + "nodeType" : "VariableDeclaration", + "scope" : 434, + "src" : "6364:26:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 341, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "6364:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6363:28:0" + }, + "scope" : 569, + "src" : "6311:1239:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 442, + "nodeType" : "Block", + "src" : "7648:36:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 439, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "7661:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 440, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "length", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7661:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 438, + "id" : 441, + "nodeType" : "Return", + "src" : "7654:25:0" + } + ] + }, + "id" : 443, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "numAllocations", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 435, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "7614:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 438, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 437, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 443, + "src" : "7642:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 436, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "7642:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7641:6:0" + }, + "scope" : 569, + "src" : "7591:93:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 455, + "nodeType" : "Block", + "src" : "7815:48:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 450, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "7828:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 452, + "indexExpression" : { + "argumentTypes" : null, + "id" : 451, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 445, + "src" : "7840:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7828:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 453, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "allocation", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 281, + "src" : "7828:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 449, + "id" : 454, + "nodeType" : "Return", + "src" : "7821:37:0" + } + ] + }, + "id" : 456, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allocationAmount", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 446, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 445, + "name" : "_index", + "nodeType" : "VariableDeclaration", + "scope" : 456, + "src" : "7768:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 444, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "7768:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7767:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 449, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 448, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 456, + "src" : "7806:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 447, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "7806:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7805:9:0" + }, + "scope" : 569, + "src" : "7742:121:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 534, + "nodeType" : "Block", + "src" : "8027:804:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 474, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 469, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8114:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 471, + "indexExpression" : { + "argumentTypes" : null, + "id" : 470, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8126:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8114:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 472, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentInterval", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 285, + "src" : "8114:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 473, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "8152:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8114:53:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 518, + "nodeType" : "Block", + "src" : "8640:58:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 516, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 514, + "name" : "_shouldReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 463, + "src" : "8670:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 515, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8686:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "src" : "8670:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 517, + "nodeType" : "ExpressionStatement", + "src" : "8670:21:0" + } + ] + }, + "id" : 519, + "nodeType" : "IfStatement", + "src" : "8110:588:0", + "trueBody" : { + "id" : 513, + "nodeType" : "Block", + "src" : "8169:465:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 480, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 475, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8242:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 477, + "indexExpression" : { + "argumentTypes" : null, + "id" : 476, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8254:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8242:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 478, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "currentInterval", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 285, + "src" : "8242:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 479, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 295, + "src" : "8280:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8242:53:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 481, + "nodeType" : "ExpressionStatement", + "src" : "8242:53:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 496, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 482, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8361:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 484, + "indexExpression" : { + "argumentTypes" : null, + "id" : 483, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8373:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8361:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 485, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 283, + "src" : "8361:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 491, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8441:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 493, + "indexExpression" : { + "argumentTypes" : null, + "id" : 492, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8453:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8441:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 494, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 287, + "src" : "8441:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 486, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8400:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 488, + "indexExpression" : { + "argumentTypes" : null, + "id" : 487, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8412:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8400:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 489, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 283, + "src" : "8400:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 490, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "8400:40:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 495, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8400:75:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8361:114:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 497, + "nodeType" : "ExpressionStatement", + "src" : "8361:114:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 499, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8510:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 501, + "indexExpression" : { + "argumentTypes" : null, + "id" : 500, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8522:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8510:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 502, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "beneficiary", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 279, + "src" : "8510:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 503, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8543:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 505, + "indexExpression" : { + "argumentTypes" : null, + "id" : 504, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8555:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8543:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 506, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 287, + "src" : "8543:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 498, + "name" : "Unlock", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 311, + "src" : "8503:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 507, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8503:74:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 508, + "nodeType" : "ExpressionStatement", + "src" : "8503:74:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 511, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 509, + "name" : "_shouldReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 463, + "src" : "8607:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 510, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8623:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "8607:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 512, + "nodeType" : "ExpressionStatement", + "src" : "8607:20:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 525, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 520, + "name" : "_rewardAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 467, + "src" : "8725:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 521, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8741:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 523, + "indexExpression" : { + "argumentTypes" : null, + "id" : 522, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8753:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8741:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 524, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 287, + "src" : "8741:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8725:49:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 526, + "nodeType" : "ExpressionStatement", + "src" : "8725:49:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 532, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 527, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 465, + "src" : "8780:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 528, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8795:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 530, + "indexExpression" : { + "argumentTypes" : null, + "id" : 529, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 458, + "src" : "8807:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8795:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 531, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "beneficiary", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 279, + "src" : "8795:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "8780:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 533, + "nodeType" : "ExpressionStatement", + "src" : "8780:46:0" + } + ] + }, + "id" : 535, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 461, + "modifierName" : { + "argumentTypes" : null, + "id" : 460, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "7936:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "7936:9:0" + } + ], + "name" : "unlock", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 459, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 458, + "name" : "_index", + "nodeType" : "VariableDeclaration", + "scope" : 535, + "src" : "7923:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 457, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "7923:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7922:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 468, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 463, + "name" : "_shouldReward", + "nodeType" : "VariableDeclaration", + "scope" : 535, + "src" : "7962:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 462, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "7962:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 465, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 535, + "src" : "7982:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 464, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "7982:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 467, + "name" : "_rewardAmount", + "nodeType" : "VariableDeclaration", + "scope" : 535, + "src" : "8004:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 466, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8004:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7961:65:0" + }, + "scope" : 569, + "src" : "7907:924:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 567, + "nodeType" : "Block", + "src" : "8958:210:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 547, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 545, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "8972:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 546, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 293, + "src" : "8978:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8972:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 544, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "8964:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 548, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8964:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 549, + "nodeType" : "ExpressionStatement", + "src" : "8964:25:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 554, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 537, + "src" : "9039:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 555, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 539, + "src" : "9061:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 556, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 539, + "src" : "9081:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 557, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "9101:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 558, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "9112:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 553, + "name" : "Allocation", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 288, + "src" : "9019:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_struct$_Allocation_$288_storage_ptr_$", + "typeString" : "type(struct BRDLockup.Allocation storage pointer)" + } + }, + "id" : 559, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "structConstructorCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9019:102:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$288_memory", + "typeString" : "struct BRDLockup.Allocation memory" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_struct$_Allocation_$288_memory", + "typeString" : "struct BRDLockup.Allocation memory" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 550, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 291, + "src" : "8995:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$288_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 552, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "push", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "8995:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_arraypush_nonpayable$_t_struct$_Allocation_$288_storage_$returns$_t_uint256_$", + "typeString" : "function (struct BRDLockup.Allocation storage ref) returns (uint256)" + } + }, + "id" : 560, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8995:132:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 561, + "nodeType" : "ExpressionStatement", + "src" : "8995:132:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 563, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 537, + "src" : "9138:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 564, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 539, + "src" : "9152:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 562, + "name" : "Lock", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 305, + "src" : "9133:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 565, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9133:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 566, + "nodeType" : "ExpressionStatement", + "src" : "9133:30:0" + } + ] + }, + "id" : 568, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 542, + "modifierName" : { + "argumentTypes" : null, + "id" : 541, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "8941:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "8941:9:0" + } + ], + "name" : "pushAllocation", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 540, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 537, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 568, + "src" : "8899:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 536, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "8899:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 539, + "name" : "_numTokens", + "nodeType" : "VariableDeclaration", + "scope" : 568, + "src" : "8921:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 538, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8921:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "8898:42:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 543, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "8958:0:0" + }, + "scope" : 569, + "src" : "8875:293:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "4905:4265:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented" : false, + "id" : 596, + "linearizedBaseContracts" : [ 596 ], + "name" : "ERC20Basic", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 571, + "name" : "totalSupply", + "nodeType" : "VariableDeclaration", + "scope" : 596, + "src" : "9381:26:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 570, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9381:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 578, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "balanceOf", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 574, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 573, + "name" : "who", + "nodeType" : "VariableDeclaration", + "scope" : 578, + "src" : "9430:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 572, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9430:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9429:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 577, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 576, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 578, + "src" : "9464:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 575, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9464:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9463:9:0" + }, + "scope" : 596, + "src" : "9411:62:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 587, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 583, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 580, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 587, + "src" : "9494:10:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 579, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9494:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 582, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 587, + "src" : "9506:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 581, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9506:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9493:27:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 586, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 585, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 587, + "src" : "9537:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 584, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "9537:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9536:6:0" + }, + "scope" : 596, + "src" : "9476:67:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 595, + "name" : "Transfer", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 594, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 589, + "indexed" : true, + "name" : "from", + "nodeType" : "VariableDeclaration", + "scope" : 595, + "src" : "9561:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 588, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9561:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 591, + "indexed" : true, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 595, + "src" : "9583:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 590, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9583:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 593, + "indexed" : false, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 595, + "src" : "9603:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 592, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9603:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9560:57:0" + }, + "src" : "9546:72:0" + } + ], + "scope" : 1890, + "src" : "9357:263:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 597, + "name" : "ERC20Basic", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 596, + "src" : "9792:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20Basic_$596", + "typeString" : "contract ERC20Basic" + } + }, + "id" : 598, + "nodeType" : "InheritanceSpecifier", + "src" : "9792:10:0" + } + ], + "contractDependencies" : [ 596 ], + "contractKind" : "contract", + "documentation" : "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented" : true, + "id" : 678, + "linearizedBaseContracts" : [ 678, 596 ], + "name" : "BasicToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 601, + "libraryName" : { + "contractScope" : null, + "id" : 599, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "9813:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "9807:27:0", + "typeName" : { + "id" : 600, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9826:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 605, + "name" : "balances", + "nodeType" : "VariableDeclaration", + "scope" : 678, + "src" : "9838:36:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "typeName" : { + "id" : 604, + "keyType" : { + "id" : 602, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9846:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "9838:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "valueType" : { + "id" : 603, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9857:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 664, + "nodeType" : "Block", + "src" : "10098:310:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 619, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 615, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 607, + "src" : "10112:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 617, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "10127:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 616, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "10119:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 618, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10119:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "10112:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 614, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "10104:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 620, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10104:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 621, + "nodeType" : "ExpressionStatement", + "src" : "10104:26:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 628, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 623, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 609, + "src" : "10144:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 624, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10154:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 627, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 625, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "10163:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 626, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "10163:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "10154:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "10144:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 622, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "10136:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 629, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10136:39:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 630, + "nodeType" : "ExpressionStatement", + "src" : "10136:39:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 642, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 631, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10245:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 634, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 632, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "10254:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 633, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "10254:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "10245:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 640, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 609, + "src" : "10293:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 635, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10268:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 638, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 636, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "10277:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 637, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "10277:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "10268:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 639, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "10268:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 641, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10268:32:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "10245:55:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 643, + "nodeType" : "ExpressionStatement", + "src" : "10245:55:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 653, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 644, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10306:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 646, + "indexExpression" : { + "argumentTypes" : null, + "id" : 645, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 607, + "src" : "10315:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "10306:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 651, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 609, + "src" : "10340:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 647, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10322:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 649, + "indexExpression" : { + "argumentTypes" : null, + "id" : 648, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 607, + "src" : "10331:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "10322:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 650, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "10322:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 652, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10322:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "10306:41:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 654, + "nodeType" : "ExpressionStatement", + "src" : "10306:41:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 656, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "10362:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 657, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "10362:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 658, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 607, + "src" : "10374:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 659, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 609, + "src" : "10379:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 655, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 595, + "src" : "10353:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 660, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "10353:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 661, + "nodeType" : "ExpressionStatement", + "src" : "10353:33:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 662, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "10399:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 613, + "id" : 663, + "nodeType" : "Return", + "src" : "10392:11:0" + } + ] + }, + "id" : 665, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 610, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 607, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 665, + "src" : "10047:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 606, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "10047:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 609, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 665, + "src" : "10060:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 608, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "10060:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10046:29:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 613, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 612, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 665, + "src" : "10092:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 611, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "10092:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10091:6:0" + }, + "scope" : 678, + "src" : "10029:379:0", + "stateMutability" : "nonpayable", + "superFunction" : 587, + "visibility" : "public" + }, + { + "body" : { + "id" : 676, + "nodeType" : "Block", + "src" : "10683:34:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 672, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "10696:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 674, + "indexExpression" : { + "argumentTypes" : null, + "id" : 673, + "name" : "_owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 667, + "src" : "10705:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "10696:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 671, + "id" : 675, + "nodeType" : "Return", + "src" : "10689:23:0" + } + ] + }, + "id" : 677, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "balanceOf", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 668, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 667, + "name" : "_owner", + "nodeType" : "VariableDeclaration", + "scope" : 677, + "src" : "10629:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 666, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "10629:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10628:16:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 671, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 670, + "name" : "balance", + "nodeType" : "VariableDeclaration", + "scope" : 677, + "src" : "10666:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 669, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "10666:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10665:17:0" + }, + "scope" : 678, + "src" : "10610:107:0", + "stateMutability" : "view", + "superFunction" : 578, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "9769:951:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 679, + "name" : "ERC20Basic", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 596, + "src" : "10881:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20Basic_$596", + "typeString" : "contract ERC20Basic" + } + }, + "id" : 680, + "nodeType" : "InheritanceSpecifier", + "src" : "10881:10:0" + } + ], + "contractDependencies" : [ 596 ], + "contractKind" : "contract", + "documentation" : "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented" : false, + "id" : 718, + "linearizedBaseContracts" : [ 718, 596 ], + "name" : "ERC20", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "body" : null, + "id" : 689, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allowance", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 685, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 682, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 689, + "src" : "10915:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 681, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "10915:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 684, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 689, + "src" : "10930:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 683, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "10930:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10914:32:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 688, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 687, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 689, + "src" : "10968:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 686, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "10968:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "10967:9:0" + }, + "scope" : 718, + "src" : "10896:81:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 700, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 696, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 691, + "name" : "from", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "11002:12:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 690, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11002:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 693, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "11016:10:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 692, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11016:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 695, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "11028:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 694, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "11028:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11001:41:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 699, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 698, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "11059:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 697, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "11059:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11058:6:0" + }, + "scope" : 718, + "src" : "10980:85:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 709, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "approve", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 705, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 702, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 709, + "src" : "11085:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 701, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11085:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 704, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 709, + "src" : "11102:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 703, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "11102:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11084:32:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 708, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 707, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 709, + "src" : "11133:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 706, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "11133:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11132:6:0" + }, + "scope" : 718, + "src" : "11068:71:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 717, + "name" : "Approval", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 716, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 711, + "indexed" : true, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 717, + "src" : "11157:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 710, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11157:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 713, + "indexed" : true, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 717, + "src" : "11180:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 712, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11180:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 715, + "indexed" : false, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 717, + "src" : "11205:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 714, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "11205:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11156:63:0" + }, + "src" : "11142:78:0" + } + ], + "scope" : 1890, + "src" : "10863:359:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 719, + "name" : "ERC20", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 718, + "src" : "11577:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20_$718", + "typeString" : "contract ERC20" + } + }, + "id" : 720, + "nodeType" : "InheritanceSpecifier", + "src" : "11577:5:0" + }, + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 721, + "name" : "BasicToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 678, + "src" : "11584:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BasicToken_$678", + "typeString" : "contract BasicToken" + } + }, + "id" : 722, + "nodeType" : "InheritanceSpecifier", + "src" : "11584:10:0" + } + ], + "contractDependencies" : [ 596, 678, 718 ], + "contractKind" : "contract", + "documentation" : "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented" : true, + "id" : 960, + "linearizedBaseContracts" : [ 960, 678, 718, 596 ], + "name" : "StandardToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 728, + "name" : "allowed", + "nodeType" : "VariableDeclaration", + "scope" : 960, + "src" : "11600:66:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + }, + "typeName" : { + "id" : 727, + "keyType" : { + "id" : 723, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11609:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "11600:49:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + }, + "valueType" : { + "id" : 726, + "keyType" : { + "id" : 724, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11629:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "11620:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "valueType" : { + "id" : 725, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "11640:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 813, + "nodeType" : "Block", + "src" : "12031:351:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 744, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 740, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 732, + "src" : "12045:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 742, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "12060:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 741, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "12052:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 743, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12052:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "12045:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 739, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "12037:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 745, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12037:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 746, + "nodeType" : "ExpressionStatement", + "src" : "12037:26:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 752, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 748, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12077:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 749, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "12087:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 751, + "indexExpression" : { + "argumentTypes" : null, + "id" : 750, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12096:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12087:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "12077:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 747, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "12069:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 753, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12069:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 754, + "nodeType" : "ExpressionStatement", + "src" : "12069:34:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 763, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 756, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12117:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 757, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "12127:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 759, + "indexExpression" : { + "argumentTypes" : null, + "id" : 758, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12135:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12127:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 762, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 760, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "12142:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 761, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "12142:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12127:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "12117:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 755, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "12109:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 764, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12109:45:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 765, + "nodeType" : "ExpressionStatement", + "src" : "12109:45:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 775, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 766, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "12161:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 768, + "indexExpression" : { + "argumentTypes" : null, + "id" : 767, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12170:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "12161:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 773, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12199:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 769, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "12179:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 771, + "indexExpression" : { + "argumentTypes" : null, + "id" : 770, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12188:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12179:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 772, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "12179:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 774, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12179:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "12161:45:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 776, + "nodeType" : "ExpressionStatement", + "src" : "12161:45:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 786, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 777, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "12212:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 779, + "indexExpression" : { + "argumentTypes" : null, + "id" : 778, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 732, + "src" : "12221:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "12212:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 784, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12246:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 780, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "12228:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 782, + "indexExpression" : { + "argumentTypes" : null, + "id" : 781, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 732, + "src" : "12237:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12228:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 783, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "12228:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 785, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12228:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "12212:41:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 787, + "nodeType" : "ExpressionStatement", + "src" : "12212:41:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 803, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 788, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "12259:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 792, + "indexExpression" : { + "argumentTypes" : null, + "id" : 789, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12267:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12259:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 793, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 790, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "12274:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 791, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "12274:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "12259:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 801, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12319:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 794, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "12288:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 796, + "indexExpression" : { + "argumentTypes" : null, + "id" : 795, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12296:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12288:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 799, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 797, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "12303:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 798, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "12303:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "12288:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 800, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "12288:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 802, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12288:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "12259:67:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 804, + "nodeType" : "ExpressionStatement", + "src" : "12259:67:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 806, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 730, + "src" : "12341:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 807, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 732, + "src" : "12348:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 808, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 734, + "src" : "12353:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 805, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 595, + "src" : "12332:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 809, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "12332:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 810, + "nodeType" : "ExpressionStatement", + "src" : "12332:28:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 811, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "12373:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 738, + "id" : 812, + "nodeType" : "Return", + "src" : "12366:11:0" + } + ] + }, + "id" : 814, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 735, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 730, + "name" : "_from", + "nodeType" : "VariableDeclaration", + "scope" : 814, + "src" : "11965:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 729, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11965:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 732, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 814, + "src" : "11980:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 731, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "11980:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 734, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 814, + "src" : "11993:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 733, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "11993:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "11964:44:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 738, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 737, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 814, + "src" : "12025:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 736, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "12025:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "12024:6:0" + }, + "scope" : 960, + "src" : "11943:439:0", + "stateMutability" : "nonpayable", + "superFunction" : 700, + "visibility" : "public" + }, + { + "body" : { + "id" : 841, + "nodeType" : "Block", + "src" : "13078:110:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 830, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 823, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "13084:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 827, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 824, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "13092:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 825, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "13092:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13084:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 828, + "indexExpression" : { + "argumentTypes" : null, + "id" : 826, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 816, + "src" : "13104:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "13084:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 829, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 818, + "src" : "13116:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "13084:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 831, + "nodeType" : "ExpressionStatement", + "src" : "13084:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 833, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "13137:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 834, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "13137:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 835, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 816, + "src" : "13149:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 836, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 818, + "src" : "13159:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 832, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 717, + "src" : "13128:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 837, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "13128:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 838, + "nodeType" : "ExpressionStatement", + "src" : "13128:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 839, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "13179:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 822, + "id" : 840, + "nodeType" : "Return", + "src" : "13172:11:0" + } + ] + }, + "id" : 842, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "approve", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 819, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 816, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 842, + "src" : "13022:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 815, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "13022:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 818, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 842, + "src" : "13040:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 817, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "13040:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13021:34:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 822, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 821, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 842, + "src" : "13072:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 820, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "13072:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13071:6:0" + }, + "scope" : 960, + "src" : "13005:183:0", + "stateMutability" : "nonpayable", + "superFunction" : 709, + "visibility" : "public" + }, + { + "body" : { + "id" : 857, + "nodeType" : "Block", + "src" : "13590:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 851, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "13603:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 853, + "indexExpression" : { + "argumentTypes" : null, + "id" : 852, + "name" : "_owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 844, + "src" : "13611:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13603:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 855, + "indexExpression" : { + "argumentTypes" : null, + "id" : 854, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 846, + "src" : "13619:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13603:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 850, + "id" : 856, + "nodeType" : "Return", + "src" : "13596:32:0" + } + ] + }, + "id" : 858, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allowance", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 847, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 844, + "name" : "_owner", + "nodeType" : "VariableDeclaration", + "scope" : 858, + "src" : "13526:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 843, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "13526:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 846, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 858, + "src" : "13542:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 845, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "13542:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13525:34:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 850, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 849, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 858, + "src" : "13581:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 848, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "13581:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13580:9:0" + }, + "scope" : 960, + "src" : "13507:126:0", + "stateMutability" : "view", + "superFunction" : 689, + "visibility" : "public" + }, + { + "body" : { + "id" : 898, + "nodeType" : "Block", + "src" : "13957:173:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 882, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 867, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "13963:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 871, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 868, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "13971:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 869, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "13971:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13963:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 872, + "indexExpression" : { + "argumentTypes" : null, + "id" : 870, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 860, + "src" : "13983:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "13963:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 880, + "name" : "_addedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 862, + "src" : "14029:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 873, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "13995:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 876, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 874, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14003:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 875, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14003:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13995:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 878, + "indexExpression" : { + "argumentTypes" : null, + "id" : 877, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 860, + "src" : "14015:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "13995:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 879, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "13995:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 881, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "13995:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "13963:78:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 883, + "nodeType" : "ExpressionStatement", + "src" : "13963:78:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 885, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14056:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 886, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14056:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 887, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 860, + "src" : "14068:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 888, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "14078:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 891, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 889, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14086:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 890, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14086:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14078:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 893, + "indexExpression" : { + "argumentTypes" : null, + "id" : 892, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 860, + "src" : "14098:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14078:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 884, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 717, + "src" : "14047:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 894, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "14047:61:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 895, + "nodeType" : "ExpressionStatement", + "src" : "14047:61:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 896, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "14121:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 866, + "id" : 897, + "nodeType" : "Return", + "src" : "14114:11:0" + } + ] + }, + "id" : 899, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "increaseApproval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 863, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 860, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 899, + "src" : "13899:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 859, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "13899:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 862, + "name" : "_addedValue", + "nodeType" : "VariableDeclaration", + "scope" : 899, + "src" : "13917:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 861, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "13917:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13898:36:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 866, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 865, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 899, + "src" : "13951:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 864, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "13951:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "13950:6:0" + }, + "scope" : 960, + "src" : "13873:257:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 958, + "nodeType" : "Block", + "src" : "14223:309:0", + "statements" : [ + { + "assignments" : [ 909 ], + "declarations" : [ + { + "constant" : false, + "id" : 909, + "name" : "oldValue", + "nodeType" : "VariableDeclaration", + "scope" : 959, + "src" : "14229:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 908, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "14229:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 916, + "initialValue" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 910, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "14245:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 913, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 911, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14253:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 912, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14253:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14245:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 915, + "indexExpression" : { + "argumentTypes" : null, + "id" : 914, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 901, + "src" : "14265:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14245:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "14229:45:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 919, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 917, + "name" : "_subtractedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 903, + "src" : "14284:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "id" : 918, + "name" : "oldValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 909, + "src" : "14303:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "14284:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 942, + "nodeType" : "Block", + "src" : "14367:77:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 940, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 930, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "14375:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 934, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 931, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14383:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 932, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14383:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14375:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 935, + "indexExpression" : { + "argumentTypes" : null, + "id" : 933, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 901, + "src" : "14395:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "14375:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 938, + "name" : "_subtractedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 903, + "src" : "14420:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 936, + "name" : "oldValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 909, + "src" : "14407:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 937, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "14407:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 939, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "14407:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "14375:62:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 941, + "nodeType" : "ExpressionStatement", + "src" : "14375:62:0" + } + ] + }, + "id" : 943, + "nodeType" : "IfStatement", + "src" : "14280:164:0", + "trueBody" : { + "id" : 929, + "nodeType" : "Block", + "src" : "14313:48:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 927, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 920, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "14321:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 924, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 921, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14329:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 922, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14329:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14321:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 925, + "indexExpression" : { + "argumentTypes" : null, + "id" : 923, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 901, + "src" : "14341:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "14321:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 926, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "14353:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "14321:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 928, + "nodeType" : "ExpressionStatement", + "src" : "14321:33:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 945, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14458:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 946, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14458:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 947, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 901, + "src" : "14470:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 948, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 728, + "src" : "14480:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 951, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 949, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "14488:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 950, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "14488:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14480:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 953, + "indexExpression" : { + "argumentTypes" : null, + "id" : 952, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 901, + "src" : "14500:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "14480:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 944, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 717, + "src" : "14449:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 954, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "14449:61:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 955, + "nodeType" : "ExpressionStatement", + "src" : "14449:61:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 956, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "14523:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 907, + "id" : 957, + "nodeType" : "Return", + "src" : "14516:11:0" + } + ] + }, + "id" : 959, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "decreaseApproval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 904, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 901, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 959, + "src" : "14160:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 900, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "14160:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 903, + "name" : "_subtractedValue", + "nodeType" : "VariableDeclaration", + "scope" : 959, + "src" : "14178:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 902, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "14178:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "14159:41:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 907, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 906, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 959, + "src" : "14217:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 905, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "14217:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "14216:6:0" + }, + "scope" : 960, + "src" : "14134:398:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "11551:2984:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 961, + "name" : "StandardToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 960, + "src" : "14914:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_StandardToken_$960", + "typeString" : "contract StandardToken" + } + }, + "id" : 962, + "nodeType" : "InheritanceSpecifier", + "src" : "14914:13:0" + }, + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 963, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "14929:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 964, + "nodeType" : "InheritanceSpecifier", + "src" : "14929:7:0" + } + ], + "contractDependencies" : [ 55, 596, 678, 718, 960 ], + "contractKind" : "contract", + "documentation" : "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", + "fullyImplemented" : true, + "id" : 1051, + "linearizedBaseContracts" : [ 1051, 55, 960, 678, 718, 596 ], + "name" : "MintableToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "anonymous" : false, + "id" : 970, + "name" : "Mint", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 969, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 966, + "indexed" : true, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 970, + "src" : "14952:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 965, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "14952:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 968, + "indexed" : false, + "name" : "amount", + "nodeType" : "VariableDeclaration", + "scope" : 970, + "src" : "14972:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 967, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "14972:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "14951:36:0" + }, + "src" : "14941:47:0" + }, + { + "anonymous" : false, + "id" : 972, + "name" : "MintFinished", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 971, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "15009:2:0" + }, + "src" : "14991:21:0" + }, + { + "constant" : false, + "id" : 975, + "name" : "mintingFinished", + "nodeType" : "VariableDeclaration", + "scope" : 1051, + "src" : "15016:35:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 973, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "15016:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 974, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15046:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "visibility" : "public" + }, + { + "body" : { + "id" : 983, + "nodeType" : "Block", + "src" : "15076:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 979, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "15090:16:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 978, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 975, + "src" : "15091:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 977, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "15082:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 980, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15082:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 981, + "nodeType" : "ExpressionStatement", + "src" : "15082:25:0" + }, + { + "id" : 982, + "nodeType" : "PlaceholderStatement", + "src" : "15113:1:0" + } + ] + }, + "id" : 984, + "name" : "canMint", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 976, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "15073:2:0" + }, + "src" : "15057:62:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 1030, + "nodeType" : "Block", + "src" : "15439:178:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 1002, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 997, + "name" : "totalSupply", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 571, + "src" : "15445:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1000, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 988, + "src" : "15475:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 998, + "name" : "totalSupply", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 571, + "src" : "15459:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 999, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "15459:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1001, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15459:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "15445:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1003, + "nodeType" : "ExpressionStatement", + "src" : "15445:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1013, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 1004, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "15489:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 1006, + "indexExpression" : { + "argumentTypes" : null, + "id" : 1005, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 986, + "src" : "15498:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "15489:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1011, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 988, + "src" : "15523:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 1007, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 605, + "src" : "15505:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 1009, + "indexExpression" : { + "argumentTypes" : null, + "id" : 1008, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 986, + "src" : "15514:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "15505:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1010, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "15505:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1012, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15505:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "15489:42:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1014, + "nodeType" : "ExpressionStatement", + "src" : "15489:42:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1016, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 986, + "src" : "15542:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1017, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 988, + "src" : "15547:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 1015, + "name" : "Mint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 970, + "src" : "15537:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 1018, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15537:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1019, + "nodeType" : "ExpressionStatement", + "src" : "15537:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1022, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15578:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 1021, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "15570:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 1023, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15570:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1024, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 986, + "src" : "15582:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1025, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 988, + "src" : "15587:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 1020, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 595, + "src" : "15561:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 1026, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15561:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1027, + "nodeType" : "ExpressionStatement", + "src" : "15561:34:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 1028, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15608:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 996, + "id" : 1029, + "nodeType" : "Return", + "src" : "15601:11:0" + } + ] + }, + "id" : 1031, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 991, + "modifierName" : { + "argumentTypes" : null, + "id" : 990, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "15399:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "15399:9:0" + }, + { + "arguments" : [], + "id" : 993, + "modifierName" : { + "argumentTypes" : null, + "id" : 992, + "name" : "canMint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 984, + "src" : "15409:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "15409:7:0" + } + ], + "name" : "mint", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 989, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 986, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 1031, + "src" : "15369:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 985, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "15369:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 988, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 1031, + "src" : "15382:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 987, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "15382:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "15368:30:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 996, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 995, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1031, + "src" : "15433:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 994, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "15433:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "15432:6:0" + }, + "scope" : 1051, + "src" : "15355:262:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1049, + "nodeType" : "Block", + "src" : "15796:70:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 1042, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1040, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 975, + "src" : "15802:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 1041, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15820:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "15802:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1043, + "nodeType" : "ExpressionStatement", + "src" : "15802:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1044, + "name" : "MintFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 972, + "src" : "15830:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 1045, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "15830:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1046, + "nodeType" : "ExpressionStatement", + "src" : "15830:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 1047, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15857:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 1039, + "id" : 1048, + "nodeType" : "Return", + "src" : "15850:11:0" + } + ] + }, + "id" : 1050, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1034, + "modifierName" : { + "argumentTypes" : null, + "id" : 1033, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "15756:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "15756:9:0" + }, + { + "arguments" : [], + "id" : 1036, + "modifierName" : { + "argumentTypes" : null, + "id" : 1035, + "name" : "canMint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 984, + "src" : "15766:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "15766:7:0" + } + ], + "name" : "finishMinting", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1032, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "15753:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1039, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1038, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1050, + "src" : "15790:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1037, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "15790:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "15789:6:0" + }, + "scope" : 1051, + "src" : "15731:135:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "14888:980:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 1052, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1051, + "src" : "15924:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1053, + "nodeType" : "InheritanceSpecifier", + "src" : "15924:13:0" + } + ], + "contractDependencies" : [ 55, 596, 678, 718, 960, 1051 ], + "contractKind" : "contract", + "documentation" : null, + "fullyImplemented" : true, + "id" : 1119, + "linearizedBaseContracts" : [ 1119, 1051, 55, 960, 678, 718, 596 ], + "name" : "BRDToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 1056, + "libraryName" : { + "contractScope" : null, + "id" : 1054, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "15948:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "15942:27:0", + "typeName" : { + "id" : 1055, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "15961:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 1059, + "name" : "name", + "nodeType" : "VariableDeclaration", + "scope" : 1119, + "src" : "15973:34:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage", + "typeString" : "string storage ref" + }, + "typeName" : { + "id" : 1057, + "name" : "string", + "nodeType" : "ElementaryTypeName", + "src" : "15973:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage_ptr", + "typeString" : "string storage pointer" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "427265616420546f6b656e", + "id" : 1058, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "string", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "15994:13:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_stringliteral_c027438703e880313c11a1a592d2072c90cccf42f5089eb1df248d426134b39b", + "typeString" : "literal_string \"Bread Token\"" + }, + "value" : "Bread Token" + }, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1062, + "name" : "symbol", + "nodeType" : "VariableDeclaration", + "scope" : 1119, + "src" : "16011:28:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage", + "typeString" : "string storage ref" + }, + "typeName" : { + "id" : 1060, + "name" : "string", + "nodeType" : "ElementaryTypeName", + "src" : "16011:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage_ptr", + "typeString" : "string storage pointer" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "425244", + "id" : 1061, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "string", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "16034:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_stringliteral_43348d2cc956a00a1fa7b1c9572536dc5eded31466d676d9b7ee4f7297c1f58e", + "typeString" : "literal_string \"BRD\"" + }, + "value" : "BRD" + }, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1065, + "name" : "decimals", + "nodeType" : "VariableDeclaration", + "scope" : 1119, + "src" : "16043:28:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1063, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "16043:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "3138", + "id" : 1064, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "16069:2:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_18_by_1", + "typeString" : "int_const 18" + }, + "value" : "18" + }, + "visibility" : "public" + }, + { + "body" : { + "id" : 1092, + "nodeType" : "Block", + "src" : "16285:109:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1082, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1077, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 975, + "src" : "16299:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 1081, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1078, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "16318:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1079, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "16318:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1080, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "16332:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "16318:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "16299:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1076, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "16291:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1083, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "16291:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1084, + "nodeType" : "ExpressionStatement", + "src" : "16291:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1087, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1067, + "src" : "16370:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1088, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1069, + "src" : "16377:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1089, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1071, + "src" : "16382:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1085, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1931, + "src" : "16351:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDToken_$1119", + "typeString" : "contract super BRDToken" + } + }, + "id" : 1086, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transferFrom", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 814, + "src" : "16351:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,address,uint256) returns (bool)" + } + }, + "id" : 1090, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "16351:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1075, + "id" : 1091, + "nodeType" : "Return", + "src" : "16344:45:0" + } + ] + }, + "id" : 1093, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1072, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1067, + "name" : "_from", + "nodeType" : "VariableDeclaration", + "scope" : 1093, + "src" : "16219:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1066, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "16219:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1069, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 1093, + "src" : "16234:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1068, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "16234:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1071, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 1093, + "src" : "16247:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1070, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "16247:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "16218:44:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1075, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1074, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1093, + "src" : "16279:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1073, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "16279:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "16278:6:0" + }, + "scope" : 1119, + "src" : "16197:197:0", + "stateMutability" : "nonpayable", + "superFunction" : 814, + "visibility" : "public" + }, + { + "body" : { + "id" : 1117, + "nodeType" : "Block", + "src" : "16583:98:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1108, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1103, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 975, + "src" : "16597:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 1107, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1104, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "16616:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1105, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "16616:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1106, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "16630:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "16616:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "16597:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1102, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "16589:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1109, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "16589:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1110, + "nodeType" : "ExpressionStatement", + "src" : "16589:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1113, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1095, + "src" : "16664:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1114, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1097, + "src" : "16669:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1111, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1931, + "src" : "16649:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDToken_$1119", + "typeString" : "contract super BRDToken" + } + }, + "id" : 1112, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transfer", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 665, + "src" : "16649:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) returns (bool)" + } + }, + "id" : 1115, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "16649:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1101, + "id" : 1116, + "nodeType" : "Return", + "src" : "16642:34:0" + } + ] + }, + "id" : 1118, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1098, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1095, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 1118, + "src" : "16532:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1094, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "16532:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1097, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 1118, + "src" : "16545:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1096, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "16545:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "16531:29:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1101, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1100, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1118, + "src" : "16577:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1099, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "16577:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "16576:6:0" + }, + "scope" : 1119, + "src" : "16514:167:0", + "stateMutability" : "nonpayable", + "superFunction" : 665, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "15903:780:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [ 1051 ], + "contractKind" : "contract", + "documentation" : "@title Crowdsale\n@dev Crowdsale is a base contract for managing a token crowdsale.\nCrowdsales have a start and end timestamps, where investors can make\ntoken purchases and the crowdsale will assign them tokens based\non a token per ETH rate. Funds collected are forwarded to a wallet\nas they arrive.", + "fullyImplemented" : true, + "id" : 1327, + "linearizedBaseContracts" : [ 1327 ], + "name" : "Crowdsale", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 1122, + "libraryName" : { + "contractScope" : null, + "id" : 1120, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "17095:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "17089:27:0", + "typeName" : { + "id" : 1121, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17108:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 1124, + "name" : "token", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17146:26:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + }, + "typeName" : { + "contractScope" : null, + "id" : 1123, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1051, + "src" : "17146:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1126, + "name" : "startTime", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17254:24:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1125, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17254:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1128, + "name" : "endTime", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17282:22:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1127, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17282:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1130, + "name" : "wallet", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17348:21:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1129, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "17348:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1132, + "name" : "rate", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17421:19:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1131, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17421:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1134, + "name" : "weiRaised", + "nodeType" : "VariableDeclaration", + "scope" : 1327, + "src" : "17480:24:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1133, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17480:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 1144, + "name" : "TokenPurchase", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 1143, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1136, + "indexed" : true, + "name" : "purchaser", + "nodeType" : "VariableDeclaration", + "scope" : 1144, + "src" : "17755:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1135, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "17755:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1138, + "indexed" : true, + "name" : "beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 1144, + "src" : "17782:27:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1137, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "17782:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1140, + "indexed" : false, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 1144, + "src" : "17811:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1139, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17811:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1142, + "indexed" : false, + "name" : "amount", + "nodeType" : "VariableDeclaration", + "scope" : 1144, + "src" : "17826:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1141, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17826:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "17754:87:0" + }, + "src" : "17735:107:0" + }, + { + "body" : { + "id" : 1202, + "nodeType" : "Block", + "src" : "17943:262:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1158, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1156, + "name" : "_startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1146, + "src" : "17957:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1157, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "17971:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "17957:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1155, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "17949:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1159, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "17949:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1160, + "nodeType" : "ExpressionStatement", + "src" : "17949:26:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1164, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1162, + "name" : "_endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1148, + "src" : "17989:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1163, + "name" : "_startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1146, + "src" : "18001:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "17989:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1161, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "17981:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1165, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "17981:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1166, + "nodeType" : "ExpressionStatement", + "src" : "17981:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1170, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1168, + "name" : "_rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1150, + "src" : "18026:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1169, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "18034:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "18026:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1167, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "18018:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1171, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18018:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1172, + "nodeType" : "ExpressionStatement", + "src" : "18018:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 1178, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1174, + "name" : "_wallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1152, + "src" : "18050:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1176, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "18069:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 1175, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "18061:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 1177, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18061:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "18050:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1173, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "18042:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1179, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18042:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1180, + "nodeType" : "ExpressionStatement", + "src" : "18042:30:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1184, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1181, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "18079:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1182, + "name" : "createTokenContract", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1213, + "src" : "18087:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$__$returns$_t_contract$_MintableToken_$1051_$", + "typeString" : "function () returns (contract MintableToken)" + } + }, + "id" : 1183, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18087:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "src" : "18079:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1185, + "nodeType" : "ExpressionStatement", + "src" : "18079:29:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1188, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1186, + "name" : "startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1126, + "src" : "18114:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1187, + "name" : "_startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1146, + "src" : "18126:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "18114:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1189, + "nodeType" : "ExpressionStatement", + "src" : "18114:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1192, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1190, + "name" : "endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1128, + "src" : "18142:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1191, + "name" : "_endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1148, + "src" : "18152:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "18142:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1193, + "nodeType" : "ExpressionStatement", + "src" : "18142:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1196, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1194, + "name" : "rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1132, + "src" : "18166:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1195, + "name" : "_rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1150, + "src" : "18173:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "18166:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1197, + "nodeType" : "ExpressionStatement", + "src" : "18166:12:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1200, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1198, + "name" : "wallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1130, + "src" : "18184:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1199, + "name" : "_wallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1152, + "src" : "18193:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "18184:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 1201, + "nodeType" : "ExpressionStatement", + "src" : "18184:16:0" + } + ] + }, + "id" : 1203, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "Crowdsale", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1153, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1146, + "name" : "_startTime", + "nodeType" : "VariableDeclaration", + "scope" : 1203, + "src" : "17866:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1145, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17866:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1148, + "name" : "_endTime", + "nodeType" : "VariableDeclaration", + "scope" : 1203, + "src" : "17886:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1147, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17886:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1150, + "name" : "_rate", + "nodeType" : "VariableDeclaration", + "scope" : 1203, + "src" : "17904:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1149, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "17904:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1152, + "name" : "_wallet", + "nodeType" : "VariableDeclaration", + "scope" : 1203, + "src" : "17919:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1151, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "17919:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "17865:70:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1154, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "17943:0:0" + }, + "scope" : 1327, + "src" : "17847:358:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1212, + "nodeType" : "Block", + "src" : "18382:37:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1209, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "NewExpression", + "src" : "18395:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_creation_nonpayable$__$returns$_t_contract$_MintableToken_$1051_$", + "typeString" : "function () returns (contract MintableToken)" + }, + "typeName" : { + "contractScope" : null, + "id" : 1208, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1051, + "src" : "18399:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + } + }, + "id" : 1210, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18395:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "functionReturnParameters" : 1207, + "id" : 1211, + "nodeType" : "Return", + "src" : "18388:26:0" + } + ] + }, + "id" : 1213, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "createTokenContract", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1204, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "18346:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1207, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1206, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1213, + "src" : "18367:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + }, + "typeName" : { + "contractScope" : null, + "id" : 1205, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1051, + "src" : "18367:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "18366:15:0" + }, + "scope" : 1327, + "src" : "18318:101:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 1221, + "nodeType" : "Block", + "src" : "18502:32:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1217, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "18518:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1218, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "18518:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 1216, + "name" : "buyTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1278, + "src" : "18508:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString" : "function (address)" + } + }, + "id" : 1219, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18508:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1220, + "nodeType" : "ExpressionStatement", + "src" : "18508:21:0" + } + ] + }, + "id" : 1222, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1214, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "18482:2:0" + }, + "payable" : true, + "returnParameters" : { + "id" : 1215, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "18502:0:0" + }, + "scope" : 1327, + "src" : "18473:61:0", + "stateMutability" : "payable", + "superFunction" : null, + "visibility" : "external" + }, + { + "body" : { + "id" : 1277, + "nodeType" : "Block", + "src" : "18632:383:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 1232, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1228, + "name" : "beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1224, + "src" : "18646:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1230, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "18669:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 1229, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "18661:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 1231, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18661:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "18646:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1227, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "18638:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1233, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18638:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1234, + "nodeType" : "ExpressionStatement", + "src" : "18638:34:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1236, + "name" : "validPurchase", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1316, + "src" : "18686:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1237, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18686:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1235, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "18678:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1238, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18678:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1239, + "nodeType" : "ExpressionStatement", + "src" : "18678:24:0" + }, + { + "assignments" : [ 1241 ], + "declarations" : [ + { + "constant" : false, + "id" : 1241, + "name" : "weiAmount", + "nodeType" : "VariableDeclaration", + "scope" : 1278, + "src" : "18709:17:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1240, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "18709:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1244, + "initialValue" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1242, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "18729:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1243, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "18729:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "18709:29:0" + }, + { + "assignments" : [ 1246 ], + "declarations" : [ + { + "constant" : false, + "id" : 1246, + "name" : "tokens", + "nodeType" : "VariableDeclaration", + "scope" : 1278, + "src" : "18789:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1245, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "18789:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1251, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1249, + "name" : "rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1132, + "src" : "18820:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1247, + "name" : "weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1241, + "src" : "18806:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1248, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "18806:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1250, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18806:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "18789:36:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1257, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1252, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "18852:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1255, + "name" : "weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1241, + "src" : "18878:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1253, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "18864:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1254, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "18864:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1256, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18864:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "18852:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1258, + "nodeType" : "ExpressionStatement", + "src" : "18852:36:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1262, + "name" : "beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1224, + "src" : "18906:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1263, + "name" : "tokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1246, + "src" : "18919:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1259, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "18895:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1261, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "18895:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1264, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18895:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1265, + "nodeType" : "ExpressionStatement", + "src" : "18895:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1267, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "18946:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1268, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "18946:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1269, + "name" : "beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1224, + "src" : "18958:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1270, + "name" : "weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1241, + "src" : "18971:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 1271, + "name" : "tokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1246, + "src" : "18982:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 1266, + "name" : "TokenPurchase", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1144, + "src" : "18932:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256,uint256)" + } + }, + "id" : 1272, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18932:57:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1273, + "nodeType" : "ExpressionStatement", + "src" : "18932:57:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1274, + "name" : "forwardFunds", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1289, + "src" : "18996:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 1275, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "18996:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1276, + "nodeType" : "ExpressionStatement", + "src" : "18996:14:0" + } + ] + }, + "id" : 1278, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "buyTokens", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1225, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1224, + "name" : "beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 1278, + "src" : "18596:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1223, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "18596:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "18595:21:0" + }, + "payable" : true, + "returnParameters" : { + "id" : 1226, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "18632:0:0" + }, + "scope" : 1327, + "src" : "18577:438:0", + "stateMutability" : "payable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1288, + "nodeType" : "Block", + "src" : "19156:37:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1284, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "19178:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1285, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "19178:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1281, + "name" : "wallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1130, + "src" : "19162:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 1283, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transfer", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "19162:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString" : "function (uint256)" + } + }, + "id" : 1286, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "19162:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1287, + "nodeType" : "ExpressionStatement", + "src" : "19162:26:0" + } + ] + }, + "id" : 1289, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "forwardFunds", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1279, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "19144:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1280, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "19156:0:0" + }, + "scope" : 1327, + "src" : "19123:70:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 1315, + "nodeType" : "Block", + "src" : "19303:152:0", + "statements" : [ + { + "assignments" : [ 1295 ], + "declarations" : [ + { + "constant" : false, + "id" : 1295, + "name" : "withinPeriod", + "nodeType" : "VariableDeclaration", + "scope" : 1316, + "src" : "19309:17:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1294, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "19309:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1303, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1302, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1298, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1296, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "19329:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1297, + "name" : "startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1126, + "src" : "19336:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "19329:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1301, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1299, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "19349:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1300, + "name" : "endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1128, + "src" : "19356:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "19349:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "19329:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "19309:54:0" + }, + { + "assignments" : [ 1305 ], + "declarations" : [ + { + "constant" : false, + "id" : 1305, + "name" : "nonZeroPurchase", + "nodeType" : "VariableDeclaration", + "scope" : 1316, + "src" : "19369:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1304, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "19369:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1310, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1309, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1306, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "19392:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1307, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "19392:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1308, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "19405:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "19392:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "19369:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1313, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1311, + "name" : "withinPeriod", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1295, + "src" : "19419:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1312, + "name" : "nonZeroPurchase", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1305, + "src" : "19435:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "19419:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1293, + "id" : 1314, + "nodeType" : "Return", + "src" : "19412:38:0" + } + ] + }, + "id" : 1316, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "validPurchase", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1290, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "19271:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1293, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1292, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1316, + "src" : "19297:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1291, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "19297:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "19296:6:0" + }, + "scope" : 1327, + "src" : "19249:206:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 1325, + "nodeType" : "Block", + "src" : "19553:31:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1323, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1321, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "19566:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1322, + "name" : "endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1128, + "src" : "19572:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "19566:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1320, + "id" : 1324, + "nodeType" : "Return", + "src" : "19559:20:0" + } + ] + }, + "id" : 1326, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "hasEnded", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1317, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "19523:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1320, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1319, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1326, + "src" : "19547:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1318, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "19547:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "19546:6:0" + }, + "scope" : 1327, + "src" : "19506:78:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 1890, + "src" : "17066:2522:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 1328, + "name" : "Crowdsale", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1327, + "src" : "19813:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Crowdsale_$1327", + "typeString" : "contract Crowdsale" + } + }, + "id" : 1329, + "nodeType" : "InheritanceSpecifier", + "src" : "19813:9:0" + }, + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 1330, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "19824:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 1331, + "nodeType" : "InheritanceSpecifier", + "src" : "19824:7:0" + } + ], + "contractDependencies" : [ 55, 1327 ], + "contractKind" : "contract", + "documentation" : "@title FinalizableCrowdsale\n@dev Extension of Crowdsale where an owner can do extra work\nafter finishing.", + "fullyImplemented" : false, + "id" : 1370, + "linearizedBaseContracts" : [ 1370, 55, 1327 ], + "name" : "FinalizableCrowdsale", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 1334, + "libraryName" : { + "contractScope" : null, + "id" : 1332, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "19842:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "19836:27:0", + "typeName" : { + "id" : 1333, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "19855:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 1337, + "name" : "isFinalized", + "nodeType" : "VariableDeclaration", + "scope" : 1370, + "src" : "19867:31:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1335, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "19867:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 1336, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "19893:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 1339, + "name" : "Finalized", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 1338, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "19918:2:0" + }, + "src" : "19903:18:0" + }, + { + "body" : { + "id" : 1364, + "nodeType" : "Block", + "src" : "20106:120:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1346, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "20120:12:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 1345, + "name" : "isFinalized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1337, + "src" : "20121:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1344, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "20112:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1347, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "20112:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1348, + "nodeType" : "ExpressionStatement", + "src" : "20112:21:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1350, + "name" : "hasEnded", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1326, + "src" : "20147:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1351, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "20147:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1349, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "20139:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1352, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "20139:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1353, + "nodeType" : "ExpressionStatement", + "src" : "20139:19:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1354, + "name" : "finalization", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1369, + "src" : "20165:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 1355, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "20165:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1356, + "nodeType" : "ExpressionStatement", + "src" : "20165:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1357, + "name" : "Finalized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1339, + "src" : "20185:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 1358, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "20185:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1359, + "nodeType" : "ExpressionStatement", + "src" : "20185:11:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1362, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1360, + "name" : "isFinalized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1337, + "src" : "20203:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 1361, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "20217:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "20203:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1363, + "nodeType" : "ExpressionStatement", + "src" : "20203:18:0" + } + ] + }, + "id" : 1365, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1342, + "modifierName" : { + "argumentTypes" : null, + "id" : 1341, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "20089:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "20089:9:0" + } + ], + "name" : "finalize", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1340, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "20086:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1343, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "20106:0:0" + }, + "scope" : 1370, + "src" : "20069:157:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1368, + "nodeType" : "Block", + "src" : "20455:5:0", + "statements" : [] + }, + "id" : 1369, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "finalization", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1366, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "20443:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1367, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "20455:0:0" + }, + "scope" : 1370, + "src" : "20422:38:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "internal" + } + ], + "scope" : 1890, + "src" : "19780:682:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 1371, + "name" : "FinalizableCrowdsale", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1370, + "src" : "20526:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_FinalizableCrowdsale_$1370", + "typeString" : "contract FinalizableCrowdsale" + } + }, + "id" : 1372, + "nodeType" : "InheritanceSpecifier", + "src" : "20526:20:0" + } + ], + "contractDependencies" : [ 55, 1327, 1370 ], + "contractKind" : "contract", + "documentation" : null, + "fullyImplemented" : true, + "id" : 1889, + "linearizedBaseContracts" : [ 1889, 1370, 55, 1327 ], + "name" : "BRDCrowdsale", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 1375, + "libraryName" : { + "contractScope" : null, + "id" : 1373, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 272, + "src" : "20557:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$272", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "20551:27:0", + "typeName" : { + "id" : 1374, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20570:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 1377, + "name" : "cap", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "20638:18:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1376, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20638:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1379, + "name" : "minContribution", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "20707:30:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1378, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20707:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1381, + "name" : "maxContribution", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "20788:30:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1380, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20788:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1383, + "name" : "ownerRate", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "20879:24:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1382, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20879:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1385, + "name" : "bonusRate", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "20967:24:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1384, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "20967:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1387, + "name" : "tokenWallet", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "21057:26:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1386, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "21057:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1389, + "name" : "authorizer", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "21154:40:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + }, + "typeName" : { + "contractScope" : null, + "id" : 1388, + "name" : "BRDCrowdsaleAuthorizer", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 176, + "src" : "21154:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 1391, + "name" : "lockup", + "nodeType" : "VariableDeclaration", + "scope" : 1889, + "src" : "21260:23:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + }, + "typeName" : { + "contractScope" : null, + "id" : 1390, + "name" : "BRDLockup", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 569, + "src" : "21260:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1456, + "nodeType" : "Block", + "src" : "21908:228:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1423, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1421, + "name" : "_cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1393, + "src" : "21922:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1422, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "21929:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "21922:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1420, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "21914:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1424, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "21914:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1425, + "nodeType" : "ExpressionStatement", + "src" : "21914:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 1429, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1427, + "name" : "_tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1411, + "src" : "21945:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "307830", + "id" : 1428, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "21961:3:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0x0" + }, + "src" : "21945:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1426, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "21937:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1430, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "21937:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1431, + "nodeType" : "ExpressionStatement", + "src" : "21937:28:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1434, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1432, + "name" : "cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1377, + "src" : "21971:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1433, + "name" : "_cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1393, + "src" : "21977:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "21971:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1435, + "nodeType" : "ExpressionStatement", + "src" : "21971:10:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1438, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1436, + "name" : "minContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1379, + "src" : "21987:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1437, + "name" : "_minWei", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1395, + "src" : "22005:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "21987:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1439, + "nodeType" : "ExpressionStatement", + "src" : "21987:25:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1442, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1440, + "name" : "maxContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1381, + "src" : "22018:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1441, + "name" : "_maxWei", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1397, + "src" : "22036:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "22018:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1443, + "nodeType" : "ExpressionStatement", + "src" : "22018:25:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1446, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1444, + "name" : "ownerRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1383, + "src" : "22049:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1445, + "name" : "_ownerRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1405, + "src" : "22061:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "22049:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1447, + "nodeType" : "ExpressionStatement", + "src" : "22049:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1450, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1448, + "name" : "bonusRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1385, + "src" : "22077:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1449, + "name" : "_bonusRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1407, + "src" : "22089:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "22077:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1451, + "nodeType" : "ExpressionStatement", + "src" : "22077:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1454, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1452, + "name" : "tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1387, + "src" : "22105:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1453, + "name" : "_tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1411, + "src" : "22119:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "22105:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 1455, + "nodeType" : "ExpressionStatement", + "src" : "22105:26:0" + } + ] + }, + "id" : 1457, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1414, + "name" : "_startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1399, + "src" : "21858:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 1415, + "name" : "_endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1401, + "src" : "21870:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 1416, + "name" : "_rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1403, + "src" : "21880:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 1417, + "name" : "_wallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1409, + "src" : "21887:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "id" : 1418, + "modifierName" : { + "argumentTypes" : null, + "id" : 1413, + "name" : "Crowdsale", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1327, + "src" : "21848:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_contract$_Crowdsale_$1327_$", + "typeString" : "type(contract Crowdsale)" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "21848:47:0" + } + ], + "name" : "BRDCrowdsale", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1412, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1393, + "name" : "_cap", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21332:12:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1392, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21332:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1395, + "name" : "_minWei", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21380:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1394, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21380:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1397, + "name" : "_maxWei", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21437:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1396, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21437:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1399, + "name" : "_startTime", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21494:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1398, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21494:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1401, + "name" : "_endTime", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21544:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1400, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21544:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1403, + "name" : "_rate", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21592:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1402, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21592:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1405, + "name" : "_ownerRate", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21636:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1404, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21636:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1407, + "name" : "_bonusRate", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21692:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1406, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "21692:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1409, + "name" : "_wallet", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21752:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1408, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "21752:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1411, + "name" : "_tokenWallet", + "nodeType" : "VariableDeclaration", + "scope" : 1457, + "src" : "21799:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1410, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "21799:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "21326:494:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1419, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "21908:0:0" + }, + "scope" : 1889, + "src" : "21305:831:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1474, + "nodeType" : "Block", + "src" : "22290:90:0", + "statements" : [ + { + "assignments" : [ 1463 ], + "declarations" : [ + { + "constant" : false, + "id" : 1463, + "name" : "_capReached", + "nodeType" : "VariableDeclaration", + "scope" : 1475, + "src" : "22296:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1462, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "22296:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1467, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1466, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1464, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "22315:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1465, + "name" : "cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1377, + "src" : "22328:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "22315:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "22296:35:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1472, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1468, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1937, + "src" : "22344:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDCrowdsale_$1889", + "typeString" : "contract super BRDCrowdsale" + } + }, + "id" : 1469, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "hasEnded", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1326, + "src" : "22344:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1470, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "22344:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1471, + "name" : "_capReached", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1463, + "src" : "22364:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "22344:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1461, + "id" : 1473, + "nodeType" : "Return", + "src" : "22337:38:0" + } + ] + }, + "id" : 1475, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "hasEnded", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1458, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "22256:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1461, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1460, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1475, + "src" : "22284:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1459, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "22284:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "22283:6:0" + }, + "scope" : 1889, + "src" : "22239:141:0", + "stateMutability" : "view", + "superFunction" : 1326, + "visibility" : "public" + }, + { + "body" : { + "id" : 1484, + "nodeType" : "Block", + "src" : "22484:33:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1482, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1480, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1903, + "src" : "22497:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1481, + "name" : "startTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1126, + "src" : "22503:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "22497:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1479, + "id" : 1483, + "nodeType" : "Return", + "src" : "22490:22:0" + } + ] + }, + "id" : 1485, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "hasStarted", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1476, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "22450:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1479, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1478, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1485, + "src" : "22478:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1477, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "22478:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "22477:6:0" + }, + "scope" : 1889, + "src" : "22431:86:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1511, + "nodeType" : "Block", + "src" : "22688:305:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1493, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1487, + "src" : "22774:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1490, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1937, + "src" : "22758:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDCrowdsale_$1889", + "typeString" : "contract super BRDCrowdsale" + } + }, + "id" : 1492, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "buyTokens", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1278, + "src" : "22758:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString" : "function (address)" + } + }, + "id" : 1494, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "22758:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1495, + "nodeType" : "ExpressionStatement", + "src" : "22758:29:0" + }, + { + "assignments" : [ 1497 ], + "declarations" : [ + { + "constant" : false, + "id" : 1497, + "name" : "_ownerTokens", + "nodeType" : "VariableDeclaration", + "scope" : 1512, + "src" : "22836:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1496, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "22836:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1503, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1501, + "name" : "ownerRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1383, + "src" : "22873:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1498, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "22859:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1499, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "22859:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1500, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "22859:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1502, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "22859:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "22836:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1507, + "name" : "tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1387, + "src" : "22962:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1508, + "name" : "_ownerTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1497, + "src" : "22975:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1504, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "22951:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1506, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "22951:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1509, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "22951:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1510, + "nodeType" : "ExpressionStatement", + "src" : "22951:37:0" + } + ] + }, + "id" : 1512, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "buyTokens", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1488, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1487, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 1512, + "src" : "22651:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1486, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "22651:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "22650:22:0" + }, + "payable" : true, + "returnParameters" : { + "id" : 1489, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "22688:0:0" + }, + "scope" : 1889, + "src" : "22632:361:0", + "stateMutability" : "payable", + "superFunction" : 1278, + "visibility" : "public" + }, + { + "body" : { + "id" : 1569, + "nodeType" : "Block", + "src" : "23174:427:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1523, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "23188:12:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 1522, + "name" : "isFinalized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1337, + "src" : "23189:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1521, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "23180:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1524, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23180:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1525, + "nodeType" : "ExpressionStatement", + "src" : "23180:21:0" + }, + { + "assignments" : [ 1527 ], + "declarations" : [ + { + "constant" : false, + "id" : 1527, + "name" : "_weiAmount", + "nodeType" : "VariableDeclaration", + "scope" : 1570, + "src" : "23228:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1526, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "23228:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1532, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1530, + "name" : "rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1132, + "src" : "23261:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1528, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1516, + "src" : "23249:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1529, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 227, + "src" : "23249:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1531, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23249:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "23228:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1538, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1533, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "23272:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1536, + "name" : "_weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1527, + "src" : "23298:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1534, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "23284:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1535, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "23284:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1537, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23284:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "23272:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1539, + "nodeType" : "ExpressionStatement", + "src" : "23272:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1543, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1514, + "src" : "23369:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1544, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1516, + "src" : "23383:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1540, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "23358:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1542, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "23358:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1545, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23358:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1546, + "nodeType" : "ExpressionStatement", + "src" : "23358:33:0" + }, + { + "assignments" : [ 1548 ], + "declarations" : [ + { + "constant" : false, + "id" : 1548, + "name" : "_ownerTokens", + "nodeType" : "VariableDeclaration", + "scope" : 1570, + "src" : "23434:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1547, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "23434:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1553, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1551, + "name" : "ownerRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1383, + "src" : "23472:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1549, + "name" : "_weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1527, + "src" : "23457:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1550, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "23457:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1552, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23457:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "23434:48:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1557, + "name" : "tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1387, + "src" : "23499:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1558, + "name" : "_ownerTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1548, + "src" : "23512:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1554, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "23488:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1556, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "23488:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1559, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23488:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1560, + "nodeType" : "ExpressionStatement", + "src" : "23488:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1562, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "23550:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1563, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "23550:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1564, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1514, + "src" : "23562:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1565, + "name" : "_weiAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1527, + "src" : "23576:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 1566, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1516, + "src" : "23588:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 1561, + "name" : "TokenPurchase", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1144, + "src" : "23536:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256,uint256)" + } + }, + "id" : 1567, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23536:60:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1568, + "nodeType" : "ExpressionStatement", + "src" : "23536:60:0" + } + ] + }, + "id" : 1570, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1519, + "modifierName" : { + "argumentTypes" : null, + "id" : 1518, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "23157:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "23157:9:0" + } + ], + "name" : "allocateTokens", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1517, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1514, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 1570, + "src" : "23118:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1513, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "23118:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1516, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 1570, + "src" : "23140:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1515, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "23140:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "23117:39:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1520, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "23174:0:0" + }, + "scope" : 1889, + "src" : "23094:507:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1639, + "nodeType" : "Block", + "src" : "23932:727:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1581, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "23946:12:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 1580, + "name" : "isFinalized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1337, + "src" : "23947:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1579, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "23938:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1582, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "23938:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1583, + "nodeType" : "ExpressionStatement", + "src" : "23938:21:0" + }, + { + "assignments" : [ 1585 ], + "declarations" : [ + { + "constant" : false, + "id" : 1585, + "name" : "_ownerTokens", + "nodeType" : "VariableDeclaration", + "scope" : 1640, + "src" : "24009:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1584, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "24009:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1593, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1591, + "name" : "rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1132, + "src" : "24059:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1588, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1574, + "src" : "24046:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1586, + "name" : "ownerRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1383, + "src" : "24032:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1587, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "24032:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1589, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24032:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1590, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 227, + "src" : "24032:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1592, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24032:32:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "24009:55:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1597, + "name" : "tokenWallet", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1387, + "src" : "24138:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1598, + "name" : "_ownerTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1585, + "src" : "24151:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1594, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "24127:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1596, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "24127:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1599, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24127:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1600, + "nodeType" : "ExpressionStatement", + "src" : "24127:37:0" + }, + { + "assignments" : [ 1602 ], + "declarations" : [ + { + "constant" : false, + "id" : 1602, + "name" : "_lockupTokens", + "nodeType" : "VariableDeclaration", + "scope" : 1640, + "src" : "24225:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1601, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "24225:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1610, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "313030", + "id" : 1608, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "24276:3:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_100_by_1", + "typeString" : "int_const 100" + }, + "value" : "100" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_100_by_1", + "typeString" : "int_const 100" + } + ], + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1605, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1574, + "src" : "24263:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1603, + "name" : "bonusRate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1385, + "src" : "24249:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1604, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 209, + "src" : "24249:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1606, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24249:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1607, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 227, + "src" : "24249:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1609, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24249:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "24225:55:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1614, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1572, + "src" : "24367:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1615, + "name" : "_lockupTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1602, + "src" : "24381:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1611, + "name" : "lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1391, + "src" : "24345:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "id" : 1613, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "pushAllocation", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 568, + "src" : "24345:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256) external" + } + }, + "id" : 1616, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24345:50:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1617, + "nodeType" : "ExpressionStatement", + "src" : "24345:50:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1621, + "name" : "this", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1936, + "src" : "24485:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsale_$1889", + "typeString" : "contract BRDCrowdsale" + } + }, + { + "argumentTypes" : null, + "id" : 1622, + "name" : "_lockupTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1602, + "src" : "24491:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_contract$_BRDCrowdsale_$1889", + "typeString" : "contract BRDCrowdsale" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1618, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "24474:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1620, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "24474:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1623, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24474:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1624, + "nodeType" : "ExpressionStatement", + "src" : "24474:31:0" + }, + { + "assignments" : [ 1626 ], + "declarations" : [ + { + "constant" : false, + "id" : 1626, + "name" : "_remainder", + "nodeType" : "VariableDeclaration", + "scope" : 1640, + "src" : "24565:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1625, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "24565:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1631, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1629, + "name" : "_lockupTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1602, + "src" : "24598:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1627, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1574, + "src" : "24586:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1628, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "24586:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1630, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24586:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "24565:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1635, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1572, + "src" : "24629:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1636, + "name" : "_remainder", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1626, + "src" : "24643:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1632, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "24618:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1634, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mint", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1031, + "src" : "24618:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1637, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "24618:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1638, + "nodeType" : "ExpressionStatement", + "src" : "24618:36:0" + } + ] + }, + "id" : 1640, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1577, + "modifierName" : { + "argumentTypes" : null, + "id" : 1576, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "23915:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "23915:9:0" + } + ], + "name" : "lockupTokens", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1575, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1572, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 1640, + "src" : "23876:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 1571, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "23876:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1574, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 1640, + "src" : "23898:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1573, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "23898:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "23875:39:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1578, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "23932:0:0" + }, + "scope" : 1889, + "src" : "23854:805:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1692, + "nodeType" : "Block", + "src" : "24946:672:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "id" : 1650, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "25104:25:0", + "subExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1647, + "name" : "lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1391, + "src" : "25105:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "id" : 1648, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "processInterval", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 434, + "src" : "25105:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString" : "function () external returns (bool)" + } + }, + "id" : 1649, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25105:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 1653, + "nodeType" : "IfStatement", + "src" : "25100:49:0", + "trueBody" : { + "expression" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 1651, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "25144:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "functionReturnParameters" : 1646, + "id" : 1652, + "nodeType" : "Return", + "src" : "25137:12:0" + } + }, + { + "assignments" : [ 1655 ], + "declarations" : [ + { + "constant" : false, + "id" : 1655, + "name" : "_numAllocations", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "25195:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1654, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "25195:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1659, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1656, + "name" : "lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1391, + "src" : "25218:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "id" : 1657, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "numAllocations", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 443, + "src" : "25218:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_view$__$returns$_t_uint256_$", + "typeString" : "function () view external returns (uint256)" + } + }, + "id" : 1658, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25218:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "25195:46:0" + }, + { + "body" : { + "id" : 1688, + "nodeType" : "Block", + "src" : "25352:244:0", + "statements" : [ + { + "assignments" : [ 1670, 1671, 1672 ], + "declarations" : [ + { + "constant" : false, + "id" : 1670, + "name" : "_shouldReward", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "25403:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : null, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1671, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "25418:3:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : null, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 1672, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "25423:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : null, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1677, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1675, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1661, + "src" : "25448:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1673, + "name" : "lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1391, + "src" : "25434:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "id" : 1674, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "unlock", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 535, + "src" : "25434:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_uint256_$returns$_t_bool_$_t_address_$_t_uint256_$", + "typeString" : "function (uint256) external returns (bool,address,uint256)" + } + }, + "id" : 1676, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25434:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$_t_bool_$_t_address_$_t_uint256_$", + "typeString" : "tuple(bool,address,uint256)" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "25398:53:0" + }, + { + "condition" : { + "argumentTypes" : null, + "id" : 1678, + "name" : "_shouldReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1670, + "src" : "25528:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 1687, + "nodeType" : "IfStatement", + "src" : "25524:66:0", + "trueBody" : { + "id" : 1686, + "nodeType" : "Block", + "src" : "25543:47:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1682, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1671, + "src" : "25568:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 1683, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1672, + "src" : "25573:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1679, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "25553:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1681, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transfer", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 665, + "src" : "25553:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) external returns (bool)" + } + }, + "id" : 1684, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25553:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1685, + "nodeType" : "ExpressionStatement", + "src" : "25553:28:0" + } + ] + } + } + ] + }, + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1666, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1664, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1661, + "src" : "25324:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1665, + "name" : "_numAllocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1655, + "src" : "25329:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "25324:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1689, + "initializationExpression" : { + "assignments" : [ 1661 ], + "declarations" : [ + { + "constant" : false, + "id" : 1661, + "name" : "_i", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "25311:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1660, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "25311:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1663, + "initialValue" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1662, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "25321:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "25311:11:0" + }, + "loopExpression" : { + "expression" : { + "argumentTypes" : null, + "id" : 1668, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "++", + "prefix" : false, + "src" : "25346:4:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 1667, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1661, + "src" : "25346:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1669, + "nodeType" : "ExpressionStatement", + "src" : "25346:4:0" + }, + "nodeType" : "ForStatement", + "src" : "25306:290:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 1690, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "25609:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 1646, + "id" : 1691, + "nodeType" : "Return", + "src" : "25602:11:0" + } + ] + }, + "id" : 1693, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1643, + "modifierName" : { + "argumentTypes" : null, + "id" : 1642, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "24897:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "24897:9:0" + } + ], + "name" : "unlockTokens", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1641, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "24894:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1646, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1645, + "name" : "_didIssueRewards", + "nodeType" : "VariableDeclaration", + "scope" : 1693, + "src" : "24923:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1644, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "24923:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "24922:23:0" + }, + "scope" : 1889, + "src" : "24873:745:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1710, + "nodeType" : "Block", + "src" : "25764:63:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1703, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "25778:13:0", + "subExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1701, + "name" : "hasStarted", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1485, + "src" : "25779:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1702, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25779:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1700, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "25770:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1704, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25770:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1705, + "nodeType" : "ExpressionStatement", + "src" : "25770:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1708, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1706, + "name" : "authorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1389, + "src" : "25798:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1707, + "name" : "_authorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1695, + "src" : "25811:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "src" : "25798:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "id" : 1709, + "nodeType" : "ExpressionStatement", + "src" : "25798:24:0" + } + ] + }, + "id" : 1711, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1698, + "modifierName" : { + "argumentTypes" : null, + "id" : 1697, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "25747:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "25747:9:0" + } + ], + "name" : "setAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1696, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1695, + "name" : "_authorizer", + "nodeType" : "VariableDeclaration", + "scope" : 1711, + "src" : "25711:34:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + }, + "typeName" : { + "contractScope" : null, + "id" : 1694, + "name" : "BRDCrowdsaleAuthorizer", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 176, + "src" : "25711:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "25710:36:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1699, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "25764:0:0" + }, + "scope" : 1889, + "src" : "25688:139:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1728, + "nodeType" : "Block", + "src" : "25948:55:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1721, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "25962:13:0", + "subExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1719, + "name" : "hasStarted", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1485, + "src" : "25963:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1720, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25963:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1718, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "25954:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1722, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "25954:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1723, + "nodeType" : "ExpressionStatement", + "src" : "25954:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1726, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1724, + "name" : "lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1391, + "src" : "25982:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1725, + "name" : "_lockup", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1713, + "src" : "25991:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "src" : "25982:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "id" : 1727, + "nodeType" : "ExpressionStatement", + "src" : "25982:16:0" + } + ] + }, + "id" : 1729, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1716, + "modifierName" : { + "argumentTypes" : null, + "id" : 1715, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "25931:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "25931:9:0" + } + ], + "name" : "setLockup", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1714, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1713, + "name" : "_lockup", + "nodeType" : "VariableDeclaration", + "scope" : 1729, + "src" : "25912:17:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + }, + "typeName" : { + "contractScope" : null, + "id" : 1712, + "name" : "BRDLockup", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 569, + "src" : "25912:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDLockup_$569", + "typeString" : "contract BRDLockup" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "25911:19:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1717, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "25948:0:0" + }, + "scope" : 1889, + "src" : "25893:110:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1746, + "nodeType" : "Block", + "src" : "26120:53:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1739, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "26134:13:0", + "subExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1737, + "name" : "hasStarted", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1485, + "src" : "26135:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1738, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26135:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1736, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "26126:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1740, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26126:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1741, + "nodeType" : "ExpressionStatement", + "src" : "26126:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1744, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1742, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "26154:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1743, + "name" : "_token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1731, + "src" : "26162:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDToken_$1119", + "typeString" : "contract BRDToken" + } + }, + "src" : "26154:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1745, + "nodeType" : "ExpressionStatement", + "src" : "26154:14:0" + } + ] + }, + "id" : 1747, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1734, + "modifierName" : { + "argumentTypes" : null, + "id" : 1733, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "26103:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "26103:9:0" + } + ], + "name" : "setToken", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1732, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1731, + "name" : "_token", + "nodeType" : "VariableDeclaration", + "scope" : 1747, + "src" : "26086:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDToken_$1119", + "typeString" : "contract BRDToken" + }, + "typeName" : { + "contractScope" : null, + "id" : 1730, + "name" : "BRDToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1119, + "src" : "26086:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDToken_$1119", + "typeString" : "contract BRDToken" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "26085:17:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1735, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "26120:0:0" + }, + "scope" : 1889, + "src" : "26068:105:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1770, + "nodeType" : "Block", + "src" : "26292:78:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1757, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 1755, + "name" : "_newCap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1749, + "src" : "26306:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1756, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "26316:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "26306:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1754, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "26298:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1758, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26298:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1759, + "nodeType" : "ExpressionStatement", + "src" : "26298:20:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1763, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "26332:13:0", + "subExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1761, + "name" : "hasStarted", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1485, + "src" : "26333:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1762, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26333:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 1760, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1904, + "src" : "26324:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 1764, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26324:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1765, + "nodeType" : "ExpressionStatement", + "src" : "26324:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 1768, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1766, + "name" : "cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1377, + "src" : "26352:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1767, + "name" : "_newCap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1749, + "src" : "26358:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "26352:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1769, + "nodeType" : "ExpressionStatement", + "src" : "26352:13:0" + } + ] + }, + "id" : 1771, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1752, + "modifierName" : { + "argumentTypes" : null, + "id" : 1751, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "26275:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "26275:9:0" + } + ], + "name" : "setCap", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1750, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1749, + "name" : "_newCap", + "nodeType" : "VariableDeclaration", + "scope" : 1771, + "src" : "26258:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1748, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "26258:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "26257:17:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1753, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "26292:0:0" + }, + "scope" : 1889, + "src" : "26242:128:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1782, + "nodeType" : "Block", + "src" : "26491:48:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 1780, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1778, + "name" : "maxContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1381, + "src" : "26497:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1779, + "name" : "_newMaxContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1773, + "src" : "26515:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "26497:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1781, + "nodeType" : "ExpressionStatement", + "src" : "26497:37:0" + } + ] + }, + "id" : 1783, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1776, + "modifierName" : { + "argumentTypes" : null, + "id" : 1775, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "26474:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "26474:9:0" + } + ], + "name" : "setMaxContribution", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1774, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1773, + "name" : "_newMaxContribution", + "nodeType" : "VariableDeclaration", + "scope" : 1783, + "src" : "26445:27:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1772, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "26445:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "26444:29:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1777, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "26491:0:0" + }, + "scope" : 1889, + "src" : "26417:122:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1794, + "nodeType" : "Block", + "src" : "26636:32:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 1792, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 1790, + "name" : "endTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1128, + "src" : "26642:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 1791, + "name" : "_newEndTime", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1785, + "src" : "26652:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "26642:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1793, + "nodeType" : "ExpressionStatement", + "src" : "26642:21:0" + } + ] + }, + "id" : 1795, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 1788, + "modifierName" : { + "argumentTypes" : null, + "id" : 1787, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "26619:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "26619:9:0" + } + ], + "name" : "setEndTime", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1786, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1785, + "name" : "_newEndTime", + "nodeType" : "VariableDeclaration", + "scope" : 1795, + "src" : "26598:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1784, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "26598:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "26597:21:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1789, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "26636:0:0" + }, + "scope" : 1889, + "src" : "26578:90:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 1806, + "nodeType" : "Block", + "src" : "26782:138:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 1802, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "26912:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 1801, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "26904:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 1803, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26904:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 1800, + "name" : "BRDToken", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1119, + "src" : "26895:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_contract$_BRDToken_$1119_$", + "typeString" : "type(contract BRDToken)" + } + }, + "id" : 1804, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "26895:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDToken_$1119", + "typeString" : "contract BRDToken" + } + }, + "functionReturnParameters" : 1799, + "id" : 1805, + "nodeType" : "Return", + "src" : "26888:27:0" + } + ] + }, + "id" : 1807, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "createTokenContract", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1796, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "26746:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1799, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1798, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1807, + "src" : "26767:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + }, + "typeName" : { + "contractScope" : null, + "id" : 1797, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 1051, + "src" : "26767:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "26766:15:0" + }, + "scope" : 1889, + "src" : "26718:202:0", + "stateMutability" : "nonpayable", + "superFunction" : 1213, + "visibility" : "internal" + }, + { + "body" : { + "id" : 1823, + "nodeType" : "Block", + "src" : "27080:136:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1810, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "27105:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1812, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "finishMinting", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1050, + "src" : "27105:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_nonpayable$__$returns$_t_bool_$", + "typeString" : "function () external returns (bool)" + } + }, + "id" : 1813, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27105:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1814, + "nodeType" : "ExpressionStatement", + "src" : "27105:21:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 1815, + "name" : "unlockTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1693, + "src" : "27170:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$__$returns$_t_bool_$", + "typeString" : "function () returns (bool)" + } + }, + "id" : 1816, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27170:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 1817, + "nodeType" : "ExpressionStatement", + "src" : "27170:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1818, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1937, + "src" : "27191:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDCrowdsale_$1889", + "typeString" : "contract super BRDCrowdsale" + } + }, + "id" : 1820, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "finalization", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1369, + "src" : "27191:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 1821, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27191:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 1822, + "nodeType" : "ExpressionStatement", + "src" : "27191:20:0" + } + ] + }, + "id" : 1824, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "finalization", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1808, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "27068:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1809, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "27080:0:0" + }, + "scope" : 1889, + "src" : "27047:169:0", + "stateMutability" : "nonpayable", + "superFunction" : 1369, + "visibility" : "internal" + }, + { + "body" : { + "id" : 1887, + "nodeType" : "Block", + "src" : "27558:409:0", + "statements" : [ + { + "assignments" : [ 1830 ], + "declarations" : [ + { + "constant" : false, + "id" : 1830, + "name" : "_withinCap", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27564:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1829, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "27564:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1838, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1837, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1833, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "27596:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1834, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "27596:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1831, + "name" : "weiRaised", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1134, + "src" : "27582:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1832, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "27582:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1835, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27582:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1836, + "name" : "cap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1377, + "src" : "27610:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "27582:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "27564:49:0" + }, + { + "assignments" : [ 1840 ], + "declarations" : [ + { + "constant" : false, + "id" : 1840, + "name" : "_isAuthorized", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27619:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1839, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "27619:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1846, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1843, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "27664:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1844, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "27664:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1841, + "name" : "authorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1389, + "src" : "27640:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BRDCrowdsaleAuthorizer_$176", + "typeString" : "contract BRDCrowdsaleAuthorizer" + } + }, + "id" : 1842, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "isAuthorized", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 159, + "src" : "27640:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString" : "function (address) view external returns (bool)" + } + }, + "id" : 1845, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27640:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "27619:56:0" + }, + { + "assignments" : [ 1848 ], + "declarations" : [ + { + "constant" : false, + "id" : 1848, + "name" : "_isMin", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27681:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1847, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "27681:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1853, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1852, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1849, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "27695:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1850, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "27695:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1851, + "name" : "minContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1379, + "src" : "27708:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "27695:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "27681:42:0" + }, + { + "assignments" : [ 1855 ], + "declarations" : [ + { + "constant" : false, + "id" : 1855, + "name" : "_alreadyContributed", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27729:27:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 1854, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "27729:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1864, + "initialValue" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1862, + "name" : "rate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1132, + "src" : "27791:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1858, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "27775:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1859, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "27775:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 1856, + "name" : "token", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1124, + "src" : "27759:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$1051", + "typeString" : "contract MintableToken" + } + }, + "id" : 1857, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "balanceOf", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 677, + "src" : "27759:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString" : "function (address) view external returns (uint256)" + } + }, + "id" : 1860, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27759:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1861, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 227, + "src" : "27759:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1863, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27759:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "27729:67:0" + }, + { + "assignments" : [ 1866 ], + "declarations" : [ + { + "constant" : false, + "id" : 1866, + "name" : "_withinMax", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27802:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1865, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "27802:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 1874, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 1873, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 1870, + "name" : "_alreadyContributed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1855, + "src" : "27834:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 1867, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1901, + "src" : "27820:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 1868, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "value", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "27820:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 1869, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 271, + "src" : "27820:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 1871, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27820:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1872, + "name" : "maxContribution", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1381, + "src" : "27858:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "27820:53:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "27802:71:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1885, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1883, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1881, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 1879, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "expression" : { + "argumentTypes" : null, + "id" : 1875, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1937, + "src" : "27886:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDCrowdsale_$1889", + "typeString" : "contract super BRDCrowdsale" + } + }, + "id" : 1876, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "validPurchase", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 1316, + "src" : "27886:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_view$__$returns$_t_bool_$", + "typeString" : "function () view returns (bool)" + } + }, + "id" : 1877, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "27886:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1878, + "name" : "_withinCap", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1830, + "src" : "27911:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "27886:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1880, + "name" : "_isAuthorized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1840, + "src" : "27925:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "27886:52:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1882, + "name" : "_isMin", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1848, + "src" : "27942:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "27886:62:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "id" : 1884, + "name" : "_withinMax", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 1866, + "src" : "27952:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "27886:76:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 1828, + "id" : 1886, + "nodeType" : "Return", + "src" : "27879:83:0" + } + ] + }, + "id" : 1888, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "validPurchase", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 1825, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "27522:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 1828, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 1827, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 1888, + "src" : "27552:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 1826, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "27552:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "27551:6:0" + }, + "scope" : 1889, + "src" : "27500:467:0", + "stateMutability" : "view", + "superFunction" : 1316, + "visibility" : "internal" + } + ], + "scope" : 1890, + "src" : "20501:7468:0" + } + ], + "src" : "0:27970:0" + } + } + }, + "version" : "0.4.18+commit.9cf6e910.Darwin.appleclang" +} + diff --git a/build/BRDCrowdsaleAuthorizer.json b/build/BRDCrowdsaleAuthorizer.json new file mode 100644 index 0000000..db1c8c8 --- /dev/null +++ b/build/BRDCrowdsaleAuthorizer.json @@ -0,0 +1,8586 @@ +{ + "contracts" : { + "build/flattened/BRDCrowdsaleAuthorizer.sol:BRDCrowdsaleAuthorizer" : { + "abi" : "[{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorizer\",\"outputs\":[{\"name\":\"_isAuthorizer\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAuthorizer\",\"type\":\"address\"}],\"name\":\"addAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bannedAuthorizer\",\"type\":\"address\"}],\"name\":\"removeAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"authorizeAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorized\",\"outputs\":[{\"name\":\"_authorized\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"Authorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "MSTORE" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CODECOPY" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820547f4f8f8a4d02a6ff1a22de25a09556ce107da9f846c59fccd37af5861420d90029", + ".code" : [ + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "MSTORE" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CALLDATASIZE" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "LT" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "CALLDATALOAD" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "SWAP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DIV" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "AND" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "46E7CCAC" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "4A4666C1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "8B69759D" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "A9A8679B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "FE9FBB80" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "EQ" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPI" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "JUMPDEST" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "DUP1" + }, + { + "begin" : 1376, + "end" : 3520, + "name" : "REVERT" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "CALLVALUE" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPI" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "REVERT" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "AND" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ADD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MLOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP3" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ISZERO" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MSTORE" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "ADD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "MLOAD" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "DUP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SUB" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "RETURN" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "CALLVALUE" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "ISZERO" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPI" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "REVERT" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "DUP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "CALLDATALOAD" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "AND" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "ADD" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP2" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "SWAP1" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "STOP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "CALLVALUE" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "ISZERO" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPI" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "REVERT" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "DUP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "AND" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "ADD" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP2" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "SWAP1" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "CALLVALUE" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "ISZERO" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPI" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "REVERT" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "DUP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "AND" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "ADD" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP2" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "SWAP1" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "STOP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "CALLVALUE" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPI" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "REVERT" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "AND" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ADD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MLOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP3" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ISZERO" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MSTORE" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "ADD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "MLOAD" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "DUP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SUB" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "RETURN" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMPDEST" + }, + { + "begin" : 3007, + "end" : 3025, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "DUP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SLOAD" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "EXP" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "DIV" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3050, + "name" : "CALLER" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "AND" + }, + { + "begin" : 3040, + "end" : 3059, + "name" : "EQ" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "DUP1" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "JUMPI" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "POP" + }, + { + "begin" : 3088, + "end" : 3092, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3074, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3075, + "end" : 3083, + "name" : "DUP5" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DUP2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "MSTORE" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "ADD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DUP2" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "MSTORE" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "ADD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "KECCAK256" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SLOAD" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "EXP" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "SWAP1" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "DIV" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3063, + "end" : 3084, + "name" : "AND" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "ISZERO" + }, + { + "begin" : 3063, + "end" : 3092, + "name" : "EQ" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 3040, + "end" : 3092, + "name" : "JUMPDEST" + }, + { + "begin" : 3033, + "end" : 3092, + "name" : "SWAP1" + }, + { + "begin" : 3033, + "end" : 3092, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP2" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "SWAP1" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "POP" + }, + { + "begin" : 2942, + "end" : 3097, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2061, + "end" : 2065, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2031, + "end" : 2042, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2043, + "end" : 2057, + "name" : "DUP4" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "MSTORE" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "ADD" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "MSTORE" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "ADD" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "KECCAK256" + }, + { + "begin" : 2031, + "end" : 2058, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "EXP" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SLOAD" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP2" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "MUL" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "NOT" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "AND" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "DUP4" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "ISZERO" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "ISZERO" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "MUL" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "OR" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SWAP1" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "SSTORE" + }, + { + "begin" : 2031, + "end" : 2065, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "POP" + }, + { + "begin" : 1893, + "end" : 2070, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2394, + "end" : 2405, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2406, + "end" : 2423, + "name" : "DUP3" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DUP2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "MSTORE" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "ADD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DUP2" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "MSTORE" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "ADD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "KECCAK256" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SLOAD" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "EXP" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "SWAP1" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "DIV" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2394, + "end" : 2424, + "name" : "AND" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "ISZERO" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "ISZERO" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "JUMPI" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "DUP1" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "REVERT" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 2386, + "end" : 2425, + "name" : "JUMPDEST" + }, + { + "begin" : 2467, + "end" : 2478, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2479, + "end" : 2496, + "name" : "DUP3" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "MSTORE" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "ADD" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "MSTORE" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "ADD" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "KECCAK256" + }, + { + "begin" : 2467, + "end" : 2497, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "EXP" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "DUP2" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SLOAD" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "MUL" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "NOT" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "AND" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SWAP1" + }, + { + "begin" : 2460, + "end" : 2497, + "name" : "SSTORE" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "POP" + }, + { + "begin" : 2220, + "end" : 2502, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMPDEST" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DUP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SLOAD" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "EXP" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "SWAP1" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "DIV" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3473, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3469, + "name" : "CALLER" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3478, + "name" : "EQ" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "DUP1" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPI" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "POP" + }, + { + "begin" : 3482, + "end" : 3493, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3494, + "end" : 3504, + "name" : "CALLER" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DUP2" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "MSTORE" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "ADD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "KECCAK256" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SLOAD" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "EXP" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "SWAP1" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "DIV" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3482, + "end" : 3505, + "name" : "AND" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 3459, + "end" : 3505, + "name" : "JUMPDEST" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "ISZERO" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPI" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "DUP1" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "REVERT" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 3451, + "end" : 3506, + "name" : "JUMPDEST" + }, + { + "begin" : 2647, + "end" : 2665, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2666, + "end" : 2677, + "name" : "DUP3" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DUP2" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "MSTORE" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "ADD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DUP2" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "MSTORE" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "ADD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "KECCAK256" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SLOAD" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "EXP" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "SWAP1" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "DIV" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2647, + "end" : 2678, + "name" : "AND" + }, + { + "begin" : 2646, + "end" : 2678, + "name" : "ISZERO" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "ISZERO" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "JUMPI" + }, + { + "begin" : 2790, + "end" : 2794, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2756, + "end" : 2774, + "name" : "DUP1" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2775, + "end" : 2786, + "name" : "DUP4" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "MSTORE" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "ADD" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "MSTORE" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "ADD" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "KECCAK256" + }, + { + "begin" : 2756, + "end" : 2787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "EXP" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SLOAD" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP2" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "MUL" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "NOT" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "AND" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "DUP4" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "ISZERO" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "ISZERO" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "MUL" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "OR" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SWAP1" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "SSTORE" + }, + { + "begin" : 2756, + "end" : 2794, + "name" : "POP" + }, + { + "begin" : 2848, + "end" : 2859, + "name" : "DUP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "AND" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "DC84E3A4C83602050E3865DF792A4E6800211A79AC60DB94E703A820CE892924" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "MLOAD" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "MLOAD" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "DUP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SWAP2" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SUB" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "SWAP1" + }, + { + "begin" : 2837, + "end" : 2860, + "name" : "LOG2" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 2642, + "end" : 2867, + "name" : "JUMPDEST" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "POP" + }, + { + "begin" : 2560, + "end" : 2871, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMPDEST" + }, + { + "begin" : 3262, + "end" : 3278, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3325, + "end" : 3329, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3311, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3312, + "end" : 3320, + "name" : "DUP5" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DUP2" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "MSTORE" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "ADD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DUP2" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "MSTORE" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "ADD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "KECCAK256" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SLOAD" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "EXP" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "SWAP1" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "DIV" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 3293, + "end" : 3321, + "name" : "AND" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "ISZERO" + }, + { + "begin" : 3293, + "end" : 3329, + "name" : "EQ" + }, + { + "begin" : 3286, + "end" : 3329, + "name" : "SWAP1" + }, + { + "begin" : 3286, + "end" : 3329, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP2" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "SWAP1" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "POP" + }, + { + "begin" : 3197, + "end" : 3334, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061091d806100536000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a72305820547f4f8f8a4d02a6ff1a22de25a09556ce107da9f846c59fccd37af5861420d90029", + "bin-runtime" : "606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a72305820547f4f8f8a4d02a6ff1a22de25a09556ce107da9f846c59fccd37af5861420d90029", + "clone-bin" : "6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060338060516000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "addAuthorizer(address)" : "4a4666c1", + "authorizeAccount(address)" : "a9a8679b", + "isAuthorized(address)" : "fe9fbb80", + "isAuthorizer(address)" : "46e7ccac", + "owner()" : "8da5cb5b", + "removeAuthorizer(address)" : "8b69759d", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorizer\",\"outputs\":[{\"name\":\"_isAuthorizer\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAuthorizer\",\"type\":\"address\"}],\"name\":\"addAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bannedAuthorizer\",\"type\":\"address\"}],\"name\":\"removeAuthorizer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"authorizeAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isAuthorized\",\"outputs\":[{\"name\":\"_authorized\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"Authorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsaleAuthorizer.sol\":\"BRDCrowdsaleAuthorizer\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsaleAuthorizer.sol\":{\"keccak256\":\"0xd18b29f9ee07cc34e8143afb40734579e18bd11c48d37e73d5fa5f5f530981b7\",\"urls\":[\"bzzr://9e80a175f623ff61fdd8a3b9729251595549c3010944252e95a4bb194129e03a\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x91D DUP1 PUSH2 0x53 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x83 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x46E7CCAC EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0x4A4666C1 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0x8B69759D EQ PUSH2 0x112 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0xA9A8679B EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xFE9FBB80 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x263 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x110 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x317 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x11D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x421 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15E PUSH2 0x57A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D7 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x59F JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x1E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x210 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x73F JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x249 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x894 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x310 JUMPI POP PUSH1 0x1 ISZERO ISZERO PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x3BB JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x4C5 JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x528 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x643 JUMPI POP PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO ISZERO PUSH2 0x64E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x73C JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDC84E3A4C83602050E3865DF792A4E6800211A79AC60DB94E703A820CE892924 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x79A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x7D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 ISZERO ISZERO PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ SWAP1 POP SWAP2 SWAP1 POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLOAD PUSH32 0x4F8F8A4D02A6FF1A22DE25A09556CE107DA9F846C59FCCD37AF5861420D90029 ", + "srcmap" : "1376:2144:0:-;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;1376:2144;;;;;;", + "srcmap-runtime" : "1376:2144:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2942:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1893:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;2220:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:311;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;3197:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2942:155;3007:18;3054:5;;;;;;;;;;;3040:19;;:10;:19;;;:52;;;;3088:4;3063:29;;:11;:21;3075:8;3063:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;3040:52;3033:59;;2942:155;;;:::o;1893:177::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2061:4;2031:11;:27;2043:14;2031:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1893:177;:::o;2220:282::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2394:11;:30;2406:17;2394:30;;;;;;;;;;;;;;;;;;;;;;;;;2386:39;;;;;;;;2467:11;:30;2479:17;2467:30;;;;;;;;;;;;;;;;2460:37;;;;;;;;;;;2220:282;:::o;291:20::-;;;;;;;;;;;;;:::o;2560:311::-;3473:5;;;;;;;;;;;3459:19;;:10;:19;;;:46;;;;3482:11;:23;3494:10;3482:23;;;;;;;;;;;;;;;;;;;;;;;;;3459:46;3451:55;;;;;;;;2647:18;:31;2666:11;2647:31;;;;;;;;;;;;;;;;;;;;;;;;;2646:32;2642:225;;;2790:4;2756:18;:31;2775:11;2756:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;2848:11;2837:23;;;;;;;;;;;;2642:225;2560:311;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;3197:137::-;3262:16;3325:4;3293:36;;:18;:28;3312:8;3293:28;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;3286:43;;3197:137;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDCrowdsaleAuthorizer.sol:Ownable" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "CALLVALUE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "ISZERO" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPI" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 522, + "end" : 577, + "name" : "DUP1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "REVERT" + }, + { + "begin" : 522, + "end" : 577, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPDEST" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CODECOPY" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a7230582073e29b60d8da73c4f4dedb38ee26476dd07afb307f7fc37c0679686c1352a7100029", + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATASIZE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "LT" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATALOAD" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "SWAP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DIV" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "AND" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPDEST" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582073e29b60d8da73c4f4dedb38ee26476dd07afb307f7fc37c0679686c1352a7100029", + "bin-runtime" : "60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582073e29b60d8da73c4f4dedb38ee26476dd07afb307f7fc37c0679686c1352a7100029", + "clone-bin" : "60606040523415600e57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380605b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"}", + "hashes" : { + "owner()" : "8da5cb5b", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDCrowdsaleAuthorizer.sol\":\"Ownable\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDCrowdsaleAuthorizer.sol\":{\"keccak256\":\"0xd18b29f9ee07cc34e8143afb40734579e18bd11c48d37e73d5fa5f5f530981b7\",\"urls\":[\"bzzr://9e80a175f623ff61fdd8a3b9729251595549c3010944252e95a4bb194129e03a\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x285 DUP1 PUSH2 0x5E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH20 0xE29B60D8DA73C4F4DEDB38EE26476DD07AFB307F PUSH32 0xC37C0679686C1352A71000290000000000000000000000000000000000000000 ", + "srcmap" : "270:789:0:-;;;522:55;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;270:789;;;;;;", + "srcmap-runtime" : "270:789:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o", + "userdoc" : "{\"methods\":{}}" + } + }, + "sourceList" : [ "build/flattened/BRDCrowdsaleAuthorizer.sol" ], + "sources" : { + "build/flattened/BRDCrowdsaleAuthorizer.sol" : { + "AST" : { + "absolutePath" : "build/flattened/BRDCrowdsaleAuthorizer.sol", + "exportedSymbols" : { + "BRDCrowdsaleAuthorizer" : [ 176 ], + "Ownable" : [ 55 ] + }, + "id" : 177, + "nodeType" : "SourceUnit", + "nodes" : [ + { + "id" : 1, + "literals" : [ "solidity", "^", "0.4", ".18" ], + "nodeType" : "PragmaDirective", + "src" : "0:24:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented" : true, + "id" : 55, + "linearizedBaseContracts" : [ 55 ], + "name" : "Ownable", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 3, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 55, + "src" : "291:20:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 2, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "291:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 9, + "name" : "OwnershipTransferred", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 8, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 5, + "indexed" : true, + "name" : "previousOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "344:29:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 4, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "344:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 7, + "indexed" : true, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "375:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 6, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "375:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "343:57:0" + }, + "src" : "317:84:0" + }, + { + "body" : { + "id" : 17, + "nodeType" : "Block", + "src" : "548:29:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 15, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 12, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "554:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 13, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 188, + "src" : "562:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 14, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "562:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "554:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 16, + "nodeType" : "ExpressionStatement", + "src" : "554:18:0" + } + ] + }, + "id" : 18, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "Ownable", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 10, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "538:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 11, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "548:0:0" + }, + "scope" : 55, + "src" : "522:55:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 28, + "nodeType" : "Block", + "src" : "679:46:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 24, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 21, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 188, + "src" : "693:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 22, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "693:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 23, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "707:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "693:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 20, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "685:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 25, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "685:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 26, + "nodeType" : "ExpressionStatement", + "src" : "685:28:0" + }, + { + "id" : 27, + "nodeType" : "PlaceholderStatement", + "src" : "719:1:0" + } + ] + }, + "id" : 29, + "name" : "onlyOwner", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 19, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "676:2:0" + }, + "src" : "658:67:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 53, + "nodeType" : "Block", + "src" : "949:107:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 41, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 37, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "963:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 39, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "983:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 38, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "975:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 40, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "975:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "963:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 36, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "955:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 42, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "955:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 43, + "nodeType" : "ExpressionStatement", + "src" : "955:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 45, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1013:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 46, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1020:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 44, + "name" : "OwnershipTransferred", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 9, + "src" : "992:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString" : "function (address,address)" + } + }, + "id" : 47, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "992:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 48, + "nodeType" : "ExpressionStatement", + "src" : "992:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 51, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 49, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1035:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 50, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1043:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "1035:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 52, + "nodeType" : "ExpressionStatement", + "src" : "1035:16:0" + } + ] + }, + "id" : 54, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 34, + "modifierName" : { + "argumentTypes" : null, + "id" : 33, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "939:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "939:9:0" + } + ], + "name" : "transferOwnership", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 32, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 31, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 54, + "src" : "914:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 30, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "914:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "913:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 35, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "949:0:0" + }, + "scope" : 55, + "src" : "887:169:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 177, + "src" : "270:789:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 56, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "1411:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 57, + "nodeType" : "InheritanceSpecifier", + "src" : "1411:7:0" + } + ], + "contractDependencies" : [ 55 ], + "contractKind" : "contract", + "documentation" : "Contract BRDCrowdsaleAuthorizer is used by the crowdsale website\nto autorize wallets to participate in the crowdsale. Because all\nparticipants must go through the KYC/AML phase, only accounts\nlisted in this contract may contribute to the crowdsale", + "fullyImplemented" : true, + "id" : 176, + "linearizedBaseContracts" : [ 176, 55 ], + "name" : "BRDCrowdsaleAuthorizer", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 61, + "name" : "authorizedAccounts", + "nodeType" : "VariableDeclaration", + "scope" : 176, + "src" : "1490:53:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "typeName" : { + "id" : 60, + "keyType" : { + "id" : 58, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1499:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "1490:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "valueType" : { + "id" : 59, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "1510:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 65, + "name" : "authorizers", + "nodeType" : "VariableDeclaration", + "scope" : 176, + "src" : "1604:46:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "typeName" : { + "id" : 64, + "keyType" : { + "id" : 62, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1613:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "1604:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + }, + "valueType" : { + "id" : 63, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "1624:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "anonymous" : false, + "id" : 69, + "name" : "Authorized", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 68, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 67, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 69, + "src" : "1718:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 66, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1718:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1717:21:0" + }, + "src" : "1701:38:0" + }, + { + "body" : { + "id" : 82, + "nodeType" : "Block", + "src" : "1969:101:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 80, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 76, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2031:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 78, + "indexExpression" : { + "argumentTypes" : null, + "id" : 77, + "name" : "_newAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 71, + "src" : "2043:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2031:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 79, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "2061:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "2031:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 81, + "nodeType" : "ExpressionStatement", + "src" : "2031:34:0" + } + ] + }, + "id" : 83, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 74, + "modifierName" : { + "argumentTypes" : null, + "id" : 73, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "1940:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "1940:21:0" + } + ], + "name" : "addAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 72, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 71, + "name" : "_newAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 83, + "src" : "1916:22:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 70, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1916:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1915:24:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 75, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "1969:0:0" + }, + "scope" : 176, + "src" : "1893:177:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 101, + "nodeType" : "Block", + "src" : "2302:200:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 91, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2394:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 93, + "indexExpression" : { + "argumentTypes" : null, + "id" : 92, + "name" : "_bannedAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 85, + "src" : "2406:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "2394:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 90, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "2386:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 94, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2386:39:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 95, + "nodeType" : "ExpressionStatement", + "src" : "2386:39:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 99, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "delete", + "prefix" : true, + "src" : "2460:37:0", + "subExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 96, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "2467:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 98, + "indexExpression" : { + "argumentTypes" : null, + "id" : 97, + "name" : "_bannedAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 85, + "src" : "2479:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2467:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 100, + "nodeType" : "ExpressionStatement", + "src" : "2460:37:0" + } + ] + }, + "id" : 102, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 88, + "modifierName" : { + "argumentTypes" : null, + "id" : 87, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "2273:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "2273:21:0" + } + ], + "name" : "removeAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 86, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 85, + "name" : "_bannedAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 102, + "src" : "2246:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 84, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2246:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2245:27:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 89, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "2302:0:0" + }, + "scope" : 176, + "src" : "2220:282:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 125, + "nodeType" : "Block", + "src" : "2636:235:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "id" : 112, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "2646:32:0", + "subExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 109, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "2647:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 111, + "indexExpression" : { + "argumentTypes" : null, + "id" : 110, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2666:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "2647:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 124, + "nodeType" : "IfStatement", + "src" : "2642:225:0", + "trueBody" : { + "id" : 123, + "nodeType" : "Block", + "src" : "2680:187:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 117, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 113, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "2756:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 115, + "indexExpression" : { + "argumentTypes" : null, + "id" : 114, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2775:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2756:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 116, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "2790:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "2756:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 118, + "nodeType" : "ExpressionStatement", + "src" : "2756:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 120, + "name" : "_newAccount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 104, + "src" : "2848:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 119, + "name" : "Authorized", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 69, + "src" : "2837:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString" : "function (address)" + } + }, + "id" : 121, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2837:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 122, + "nodeType" : "ExpressionStatement", + "src" : "2837:23:0" + } + ] + } + } + ] + }, + "id" : 126, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 107, + "modifierName" : { + "argumentTypes" : null, + "id" : 106, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 175, + "src" : "2607:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "2607:21:0" + } + ], + "name" : "authorizeAccount", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 105, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 104, + "name" : "_newAccount", + "nodeType" : "VariableDeclaration", + "scope" : 126, + "src" : "2586:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 103, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2586:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2585:21:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 108, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "2636:0:0" + }, + "scope" : 176, + "src" : "2560:311:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 144, + "nodeType" : "Block", + "src" : "3027:70:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 142, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 136, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 133, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 188, + "src" : "3040:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 134, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3040:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 135, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "3054:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "3040:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 141, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 137, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "3063:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 139, + "indexExpression" : { + "argumentTypes" : null, + "id" : 138, + "name" : "_account", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 128, + "src" : "3075:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3063:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 140, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3088:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "3063:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "3040:52:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 132, + "id" : 143, + "nodeType" : "Return", + "src" : "3033:59:0" + } + ] + }, + "id" : 145, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "isAuthorizer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 129, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 128, + "name" : "_account", + "nodeType" : "VariableDeclaration", + "scope" : 145, + "src" : "2964:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 127, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2964:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2963:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 132, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 131, + "name" : "_isAuthorizer", + "nodeType" : "VariableDeclaration", + "scope" : 145, + "src" : "3007:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 130, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3007:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3006:20:0" + }, + "scope" : 176, + "src" : "2942:155:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 158, + "nodeType" : "Block", + "src" : "3280:54:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 156, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 152, + "name" : "authorizedAccounts", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 61, + "src" : "3293:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 154, + "indexExpression" : { + "argumentTypes" : null, + "id" : 153, + "name" : "_account", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 147, + "src" : "3312:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3293:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 155, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3325:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "3293:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 151, + "id" : 157, + "nodeType" : "Return", + "src" : "3286:43:0" + } + ] + }, + "id" : 159, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "isAuthorized", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 148, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 147, + "name" : "_account", + "nodeType" : "VariableDeclaration", + "scope" : 159, + "src" : "3219:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 146, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3219:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3218:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 151, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 150, + "name" : "_authorized", + "nodeType" : "VariableDeclaration", + "scope" : 159, + "src" : "3262:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 149, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3262:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3261:18:0" + }, + "scope" : 176, + "src" : "3197:137:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 174, + "nodeType" : "Block", + "src" : "3445:73:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 170, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 165, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 162, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 188, + "src" : "3459:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 163, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3459:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 164, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "3473:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "3459:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 166, + "name" : "authorizers", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 65, + "src" : "3482:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_bool_$", + "typeString" : "mapping(address => bool)" + } + }, + "id" : 169, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 167, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 188, + "src" : "3494:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 168, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3494:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3482:23:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "3459:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 161, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "3451:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 171, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3451:55:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 172, + "nodeType" : "ExpressionStatement", + "src" : "3451:55:0" + }, + { + "id" : 173, + "nodeType" : "PlaceholderStatement", + "src" : "3512:1:0" + } + ] + }, + "id" : 175, + "name" : "onlyOwnerOrAuthorizer", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 160, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "3442:2:0" + }, + "src" : "3412:106:0", + "visibility" : "internal" + } + ], + "scope" : 177, + "src" : "1376:2144:0" + } + ], + "src" : "0:3521:0" + } + } + }, + "version" : "0.4.18+commit.9cf6e910.Darwin.appleclang" +} + diff --git a/build/BRDLockup.json b/build/BRDLockup.json new file mode 100644 index 0000000..f4ce6d2 --- /dev/null +++ b/build/BRDLockup.json @@ -0,0 +1,17742 @@ +{ + "contracts" : { + "build/flattened/BRDLockup.sol:BRDLockup" : { + "abi" : "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allocations\",\"outputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"allocation\",\"type\":\"uint256\"},{\"name\":\"remainingBalance\",\"type\":\"uint256\"},{\"name\":\"currentInterval\",\"type\":\"uint256\"},{\"name\":\"currentReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"intervalDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentInterval\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numAllocations\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"name\":\"_shouldReward\",\"type\":\"bool\"},{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_rewardAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"unlockDate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"pushAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"allocationAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numIntervals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"processInterval\",\"outputs\":[{\"name\":\"_shouldProcessRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_crowdsaleEndDate\",\"type\":\"uint256\"},{\"name\":\"_numIntervals\",\"type\":\"uint256\"},{\"name\":\"_intervalDuration\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MSTORE" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "CALLVALUE" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "ISZERO" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "JUMPI" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "REVERT" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "JUMPDEST" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "MLOAD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSHSIZE" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP4" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "CODECOPY" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP2" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "ADD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "MSTORE" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "MLOAD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "ADD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP2" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "MLOAD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "ADD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP2" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "DUP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "MLOAD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "ADD" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP2" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "SWAP1" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "POP" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 3669, + "end" : 3686, + "name" : "DUP3" + }, + { + "begin" : 3656, + "end" : 3666, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3656, + "end" : 3686, + "name" : "DUP2" + }, + { + "begin" : 3656, + "end" : 3686, + "name" : "SWAP1" + }, + { + "begin" : 3656, + "end" : 3686, + "name" : "SSTORE" + }, + { + "begin" : 3656, + "end" : 3686, + "name" : "POP" + }, + { + "begin" : 3707, + "end" : 3720, + "name" : "DUP2" + }, + { + "begin" : 3692, + "end" : 3704, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 3692, + "end" : 3720, + "name" : "DUP2" + }, + { + "begin" : 3692, + "end" : 3720, + "name" : "SWAP1" + }, + { + "begin" : 3692, + "end" : 3720, + "name" : "SSTORE" + }, + { + "begin" : 3692, + "end" : 3720, + "name" : "POP" + }, + { + "begin" : 3745, + "end" : 3762, + "name" : "DUP1" + }, + { + "begin" : 3726, + "end" : 3742, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3726, + "end" : 3762, + "name" : "DUP2" + }, + { + "begin" : 3726, + "end" : 3762, + "name" : "SWAP1" + }, + { + "begin" : 3726, + "end" : 3762, + "name" : "SSTORE" + }, + { + "begin" : 3726, + "end" : 3762, + "name" : "POP" + }, + { + "begin" : 3786, + "end" : 3787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3768, + "end" : 3783, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 3768, + "end" : 3787, + "name" : "DUP2" + }, + { + "begin" : 3768, + "end" : 3787, + "name" : "SWAP1" + }, + { + "begin" : 3768, + "end" : 3787, + "name" : "SSTORE" + }, + { + "begin" : 3768, + "end" : 3787, + "name" : "POP" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "POP" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "POP" + }, + { + "begin" : 3546, + "end" : 3792, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "CODECOPY" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a7230582064557d5a14c9238c03654a95934ac547ffb55d5e9b4db639152fd44b937789db0029", + ".code" : [ + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "CALLDATASIZE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "LT" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DIV" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "AND" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "A2642BF" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "3076DC42" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "363487BC" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "3A2960E1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "6198E339" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "69AC5721" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "6DC0A997" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "931DAB50" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "A31E88C2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "F95E6306" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EQ" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "REVERT" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPDEST" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "CALLVALUE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ISZERO" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPI" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "REVERT" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPDEST" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPDEST" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP7" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "AND" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "AND" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP6" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP5" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP4" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP3" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP6" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SUB" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "RETURN" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMPDEST" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "CALLVALUE" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "ISZERO" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMPI" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP1" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "REVERT" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMPDEST" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMP" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMPDEST" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "MLOAD" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP1" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP3" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP2" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "MSTORE" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "ADD" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "SWAP2" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "POP" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "POP" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "MLOAD" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP1" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "SWAP2" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "SUB" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "SWAP1" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "RETURN" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMPDEST" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "CALLVALUE" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "ISZERO" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMPI" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP1" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "REVERT" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMPDEST" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMP" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMPDEST" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "MLOAD" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP1" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP3" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP2" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "MSTORE" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "ADD" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "SWAP2" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "POP" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "POP" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "MLOAD" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP1" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "SWAP2" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "SUB" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "SWAP1" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "RETURN" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMPDEST" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "CALLVALUE" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "ISZERO" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMPI" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "DUP1" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "REVERT" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMPDEST" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMP" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMPDEST" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "MLOAD" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "DUP1" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "DUP3" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "DUP2" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "MSTORE" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "ADD" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "SWAP2" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "POP" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "POP" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "MLOAD" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "DUP1" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "SWAP2" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "SUB" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "SWAP1" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "RETURN" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMPDEST" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "CALLVALUE" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ISZERO" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMPI" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "REVERT" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMPDEST" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ADD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMPDEST" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "MLOAD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP5" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ISZERO" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ISZERO" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ISZERO" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ISZERO" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "MSTORE" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ADD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP4" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "AND" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "AND" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "MSTORE" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ADD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP3" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "MSTORE" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "ADD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP4" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "MLOAD" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "DUP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SUB" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "RETURN" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMPDEST" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "CALLVALUE" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "ISZERO" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMPI" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP1" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "REVERT" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMPDEST" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMP" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMPDEST" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "MLOAD" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP1" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP3" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP2" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "MSTORE" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "ADD" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "SWAP2" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "POP" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "POP" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "MLOAD" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP1" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "SWAP2" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "SUB" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "SWAP1" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "RETURN" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMPDEST" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "CALLVALUE" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "ISZERO" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMPI" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "DUP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "REVERT" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMPDEST" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "DUP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "DUP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "AND" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "ADD" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP2" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "DUP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "ADD" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP2" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "SWAP1" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "POP" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "POP" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMP" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMPDEST" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMPDEST" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "CALLVALUE" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "ISZERO" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMPI" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "REVERT" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMPDEST" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "ADD" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP2" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMPDEST" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "MLOAD" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP3" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP2" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "MSTORE" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "ADD" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP2" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "MLOAD" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "DUP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP2" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SUB" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "RETURN" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMPDEST" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "CALLVALUE" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "ISZERO" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMPI" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP1" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "REVERT" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMPDEST" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMP" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMPDEST" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "MLOAD" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP1" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP3" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP2" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "MSTORE" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "ADD" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "SWAP2" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "POP" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "POP" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "MLOAD" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP1" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "SWAP2" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "SUB" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "SWAP1" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMPDEST" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "CALLVALUE" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ISZERO" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMPI" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "DUP1" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "REVERT" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMPDEST" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMPDEST" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "MLOAD" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "DUP1" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "DUP3" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ISZERO" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ISZERO" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ISZERO" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ISZERO" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "DUP2" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "MSTORE" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "ADD" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "SWAP2" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "MLOAD" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "DUP1" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "SWAP2" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "SUB" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "SWAP1" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "RETURN" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPDEST" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "LT" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ISZERO" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ISZERO" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPI" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "INVALID" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMPDEST" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MSTORE" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "KECCAK256" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "MUL" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "EXP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DIV" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "AND" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "ADD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SLOAD" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "SWAP1" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "POP" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "DUP6" + }, + { + "begin" : 2996, + "end" : 3027, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMPDEST" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "SLOAD" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "DUP2" + }, + { + "begin" : 3237, + "end" : 3268, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMPDEST" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "SLOAD" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "DUP2" + }, + { + "begin" : 3146, + "end" : 3176, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMPDEST" + }, + { + "begin" : 5181, + "end" : 5185, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5200, + "end" : 5211, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5200, + "end" : 5218, + "name" : "DUP1" + }, + { + "begin" : 5200, + "end" : 5218, + "name" : "SLOAD" + }, + { + "begin" : 5200, + "end" : 5218, + "name" : "SWAP1" + }, + { + "begin" : 5200, + "end" : 5218, + "name" : "POP" + }, + { + "begin" : 5193, + "end" : 5218, + "name" : "SWAP1" + }, + { + "begin" : 5193, + "end" : 5218, + "name" : "POP" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "SWAP1" + }, + { + "begin" : 5130, + "end" : 5223, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMPDEST" + }, + { + "begin" : 5501, + "end" : 5519, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5521, + "end" : 5541, + "name" : "DUP1" + }, + { + "begin" : 5543, + "end" : 5564, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 5691, + "end" : 5706, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5691, + "end" : 5706, + "name" : "SLOAD" + }, + { + "begin" : 5653, + "end" : 5664, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5665, + "end" : 5671, + "name" : "DUP6" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "DUP2" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "SLOAD" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "DUP2" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "LT" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "ISZERO" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "ISZERO" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "JUMPI" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "INVALID" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "JUMPDEST" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "SWAP1" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "MSTORE" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "KECCAK256" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "SWAP1" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "MUL" + }, + { + "begin" : 5653, + "end" : 5672, + "name" : "ADD" + }, + { + "begin" : 5653, + "end" : 5688, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5653, + "end" : 5688, + "name" : "ADD" + }, + { + "begin" : 5653, + "end" : 5688, + "name" : "SLOAD" + }, + { + "begin" : 5653, + "end" : 5706, + "name" : "LT" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "ISZERO" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "JUMPI" + }, + { + "begin" : 5819, + "end" : 5834, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5819, + "end" : 5834, + "name" : "SLOAD" + }, + { + "begin" : 5781, + "end" : 5792, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5793, + "end" : 5799, + "name" : "DUP6" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "DUP2" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "SLOAD" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "DUP2" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "LT" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "ISZERO" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "ISZERO" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "JUMPI" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "INVALID" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "JUMPDEST" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "SWAP1" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "MSTORE" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "KECCAK256" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "SWAP1" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "MUL" + }, + { + "begin" : 5781, + "end" : 5800, + "name" : "ADD" + }, + { + "begin" : 5781, + "end" : 5816, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 5781, + "end" : 5816, + "name" : "ADD" + }, + { + "begin" : 5781, + "end" : 5834, + "name" : "DUP2" + }, + { + "begin" : 5781, + "end" : 5834, + "name" : "SWAP1" + }, + { + "begin" : 5781, + "end" : 5834, + "name" : "SSTORE" + }, + { + "begin" : 5781, + "end" : 5834, + "name" : "POP" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 5980, + "end" : 5991, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5992, + "end" : 5998, + "name" : "DUP6" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "DUP2" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "SLOAD" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "DUP2" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "LT" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "ISZERO" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "ISZERO" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "JUMPI" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "INVALID" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "JUMPDEST" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "SWAP1" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "MSTORE" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "KECCAK256" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "SWAP1" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "MUL" + }, + { + "begin" : 5980, + "end" : 5999, + "name" : "ADD" + }, + { + "begin" : 5980, + "end" : 6013, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5980, + "end" : 6013, + "name" : "ADD" + }, + { + "begin" : 5980, + "end" : 6013, + "name" : "SLOAD" + }, + { + "begin" : 5939, + "end" : 5950, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5951, + "end" : 5957, + "name" : "DUP7" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "DUP2" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "SLOAD" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "DUP2" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "LT" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "ISZERO" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "ISZERO" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "JUMPI" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "INVALID" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "tag", + "value" : "64" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "JUMPDEST" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "SWAP1" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "MSTORE" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "KECCAK256" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "SWAP1" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "MUL" + }, + { + "begin" : 5939, + "end" : 5958, + "name" : "ADD" + }, + { + "begin" : 5939, + "end" : 5975, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5939, + "end" : 5975, + "name" : "ADD" + }, + { + "begin" : 5939, + "end" : 5975, + "name" : "SLOAD" + }, + { + "begin" : 5939, + "end" : 5979, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 5939, + "end" : 5979, + "name" : "SWAP1" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "SWAP2" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "SWAP1" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "AND" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 5939, + "end" : 6014, + "name" : "JUMPDEST" + }, + { + "begin" : 5900, + "end" : 5911, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5912, + "end" : 5918, + "name" : "DUP6" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "DUP2" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "SLOAD" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "DUP2" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "LT" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "ISZERO" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "ISZERO" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "JUMPI" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "INVALID" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "JUMPDEST" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "SWAP1" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "MSTORE" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "KECCAK256" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "SWAP1" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "MUL" + }, + { + "begin" : 5900, + "end" : 5919, + "name" : "ADD" + }, + { + "begin" : 5900, + "end" : 5936, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5900, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5900, + "end" : 6014, + "name" : "DUP2" + }, + { + "begin" : 5900, + "end" : 6014, + "name" : "SWAP1" + }, + { + "begin" : 5900, + "end" : 6014, + "name" : "SSTORE" + }, + { + "begin" : 5900, + "end" : 6014, + "name" : "POP" + }, + { + "begin" : 6049, + "end" : 6060, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6061, + "end" : 6067, + "name" : "DUP5" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "DUP2" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "SLOAD" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "DUP2" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "LT" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "ISZERO" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "ISZERO" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "JUMPI" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "INVALID" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "JUMPDEST" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "SWAP1" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "MSTORE" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "KECCAK256" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "SWAP1" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "MUL" + }, + { + "begin" : 6049, + "end" : 6068, + "name" : "ADD" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "ADD" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "SWAP1" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "SLOAD" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "SWAP1" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "EXP" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "SWAP1" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "DIV" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6049, + "end" : 6080, + "name" : "AND" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "AND" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "PUSH", + "value" : "6381D9813CABEB57471B5A7E05078E64845CCDB563146A6911D536F24CE960F1" + }, + { + "begin" : 6082, + "end" : 6093, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6094, + "end" : 6100, + "name" : "DUP7" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "DUP2" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "SLOAD" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "DUP2" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "LT" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "ISZERO" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "ISZERO" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "PUSH [tag]", + "value" : "71" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "JUMPI" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "INVALID" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "tag", + "value" : "71" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "JUMPDEST" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "SWAP1" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "MSTORE" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "KECCAK256" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "SWAP1" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "MUL" + }, + { + "begin" : 6082, + "end" : 6101, + "name" : "ADD" + }, + { + "begin" : 6082, + "end" : 6115, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6082, + "end" : 6115, + "name" : "ADD" + }, + { + "begin" : 6082, + "end" : 6115, + "name" : "SLOAD" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "MLOAD" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "DUP1" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "DUP3" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "DUP2" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "MSTORE" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "ADD" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "SWAP2" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "POP" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "POP" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "MLOAD" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "DUP1" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "SWAP2" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "SUB" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "SWAP1" + }, + { + "begin" : 6042, + "end" : 6116, + "name" : "LOG2" + }, + { + "begin" : 6162, + "end" : 6166, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6146, + "end" : 6166, + "name" : "SWAP3" + }, + { + "begin" : 6146, + "end" : 6166, + "name" : "POP" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "JUMP" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "JUMPDEST" + }, + { + "begin" : 6225, + "end" : 6230, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6209, + "end" : 6230, + "name" : "SWAP3" + }, + { + "begin" : 6209, + "end" : 6230, + "name" : "POP" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 5649, + "end" : 6237, + "name" : "JUMPDEST" + }, + { + "begin" : 6280, + "end" : 6291, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6292, + "end" : 6298, + "name" : "DUP5" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "DUP2" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "SLOAD" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "DUP2" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "LT" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "ISZERO" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "ISZERO" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "JUMPI" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "INVALID" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "JUMPDEST" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "SWAP1" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "MSTORE" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "KECCAK256" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "SWAP1" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "MUL" + }, + { + "begin" : 6280, + "end" : 6299, + "name" : "ADD" + }, + { + "begin" : 6280, + "end" : 6313, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6280, + "end" : 6313, + "name" : "ADD" + }, + { + "begin" : 6280, + "end" : 6313, + "name" : "SLOAD" + }, + { + "begin" : 6264, + "end" : 6313, + "name" : "SWAP1" + }, + { + "begin" : 6264, + "end" : 6313, + "name" : "POP" + }, + { + "begin" : 6334, + "end" : 6345, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6346, + "end" : 6352, + "name" : "DUP5" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "DUP2" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "SLOAD" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "DUP2" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "LT" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "ISZERO" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "ISZERO" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "PUSH [tag]", + "value" : "76" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "JUMPI" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "INVALID" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "tag", + "value" : "76" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "JUMPDEST" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "SWAP1" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "MSTORE" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "KECCAK256" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "SWAP1" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "MUL" + }, + { + "begin" : 6334, + "end" : 6353, + "name" : "ADD" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "ADD" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "SWAP1" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "SLOAD" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "SWAP1" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "EXP" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "SWAP1" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "DIV" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6334, + "end" : 6365, + "name" : "AND" + }, + { + "begin" : 6319, + "end" : 6365, + "name" : "SWAP2" + }, + { + "begin" : 6319, + "end" : 6365, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP2" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP4" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP1" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "SWAP3" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "POP" + }, + { + "begin" : 5446, + "end" : 6370, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMPDEST" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "SLOAD" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "DUP2" + }, + { + "begin" : 3083, + "end" : 3108, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 6517, + "end" : 6527, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6517, + "end" : 6527, + "name" : "SLOAD" + }, + { + "begin" : 6511, + "end" : 6514, + "name" : "TIMESTAMP" + }, + { + "begin" : 6511, + "end" : 6527, + "name" : "LT" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "ISZERO" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "ISZERO" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "PUSH [tag]", + "value" : "81" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "JUMPI" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "DUP1" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "REVERT" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "tag", + "value" : "81" + }, + { + "begin" : 6503, + "end" : 6528, + "name" : "JUMPDEST" + }, + { + "begin" : 6534, + "end" : 6545, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "JUMPDEST" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "KECCAK256" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MUL" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "A0" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MLOAD" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "SWAP1" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "ADD" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP1" + }, + { + "begin" : 6578, + "end" : 6590, + "name" : "DUP7" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "AND" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "ADD" + }, + { + "begin" : 6600, + "end" : 6610, + "name" : "DUP6" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "ADD" + }, + { + "begin" : 6620, + "end" : 6630, + "name" : "DUP6" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "ADD" + }, + { + "begin" : 6640, + "end" : 6641, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "ADD" + }, + { + "begin" : 6651, + "end" : 6652, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "DUP2" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "MSTORE" + }, + { + "begin" : 6558, + "end" : 6660, + "name" : "POP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "POP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "EXP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MUL" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "NOT" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "AND" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP4" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "AND" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MUL" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "OR" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SWAP1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "POP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "80" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP3" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "MLOAD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "DUP2" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "ADD" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "SSTORE" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "POP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "POP" + }, + { + "begin" : 6534, + "end" : 6666, + "name" : "POP" + }, + { + "begin" : 6677, + "end" : 6689, + "name" : "DUP2" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "AND" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "PUSH", + "value" : "625FED9875DADA8643F2418B838AE0BC78D9A148A18EEE4EE1979FF0F3F5D427" + }, + { + "begin" : 6691, + "end" : 6701, + "name" : "DUP3" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "MLOAD" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "DUP1" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "DUP3" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "DUP2" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "MSTORE" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "ADD" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "SWAP2" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "POP" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "POP" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "MLOAD" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "DUP1" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "SWAP2" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "SUB" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "SWAP1" + }, + { + "begin" : 6672, + "end" : 6702, + "name" : "LOG2" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "POP" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "POP" + }, + { + "begin" : 6414, + "end" : 6707, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMPDEST" + }, + { + "begin" : 5345, + "end" : 5352, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5367, + "end" : 5378, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5379, + "end" : 5385, + "name" : "DUP3" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "DUP2" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "SLOAD" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "DUP2" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "LT" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "ISZERO" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "ISZERO" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "PUSH [tag]", + "value" : "86" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "JUMPI" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "INVALID" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "tag", + "value" : "86" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "JUMPDEST" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "SWAP1" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "MSTORE" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "KECCAK256" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "SWAP1" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "MUL" + }, + { + "begin" : 5367, + "end" : 5386, + "name" : "ADD" + }, + { + "begin" : 5367, + "end" : 5397, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5367, + "end" : 5397, + "name" : "ADD" + }, + { + "begin" : 5367, + "end" : 5397, + "name" : "SLOAD" + }, + { + "begin" : 5360, + "end" : 5397, + "name" : "SWAP1" + }, + { + "begin" : 5360, + "end" : 5397, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP2" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "SWAP1" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "POP" + }, + { + "begin" : 5281, + "end" : 5402, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMPDEST" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "SLOAD" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "DUP2" + }, + { + "begin" : 3329, + "end" : 3356, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "89" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "91" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "91" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMPDEST" + }, + { + "begin" : 3903, + "end" : 3929, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3980, + "end" : 4001, + "name" : "DUP1" + }, + { + "begin" : 4090, + "end" : 4109, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4350, + "end" : 4372, + "name" : "DUP1" + }, + { + "begin" : 4442, + "end" : 4449, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4553, + "end" : 4576, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "93" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "93" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 4011, + "end" : 4021, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4011, + "end" : 4021, + "name" : "SLOAD" + }, + { + "begin" : 4004, + "end" : 4007, + "name" : "TIMESTAMP" + }, + { + "begin" : 4004, + "end" : 4021, + "name" : "LT" + }, + { + "begin" : 4004, + "end" : 4021, + "name" : "ISZERO" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "DUP1" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "ISZERO" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "JUMPI" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "POP" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 4067, + "end" : 4083, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4067, + "end" : 4083, + "name" : "SLOAD" + }, + { + "begin" : 4047, + "end" : 4062, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4047, + "end" : 4062, + "name" : "SLOAD" + }, + { + "begin" : 4047, + "end" : 4066, + "name" : "PUSH [tag]", + "value" : "97" + }, + { + "begin" : 4047, + "end" : 4066, + "name" : "SWAP1" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "SWAP2" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "SWAP1" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "AND" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 4047, + "end" : 4084, + "name" : "JUMPDEST" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "PUSH [tag]", + "value" : "98" + }, + { + "begin" : 4033, + "end" : 4043, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4033, + "end" : 4043, + "name" : "SLOAD" + }, + { + "begin" : 4025, + "end" : 4028, + "name" : "TIMESTAMP" + }, + { + "begin" : 4025, + "end" : 4032, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 4025, + "end" : 4032, + "name" : "SWAP1" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "SWAP2" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "SWAP1" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "AND" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "tag", + "value" : "98" + }, + { + "begin" : 4025, + "end" : 4044, + "name" : "JUMPDEST" + }, + { + "begin" : 4025, + "end" : 4084, + "name" : "GT" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "tag", + "value" : "95" + }, + { + "begin" : 4004, + "end" : 4084, + "name" : "JUMPDEST" + }, + { + "begin" : 3980, + "end" : 4084, + "name" : "SWAP5" + }, + { + "begin" : 3980, + "end" : 4084, + "name" : "POP" + }, + { + "begin" : 4130, + "end" : 4142, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4130, + "end" : 4142, + "name" : "SLOAD" + }, + { + "begin" : 4112, + "end" : 4127, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4112, + "end" : 4127, + "name" : "SLOAD" + }, + { + "begin" : 4112, + "end" : 4142, + "name" : "LT" + }, + { + "begin" : 4090, + "end" : 4142, + "name" : "SWAP4" + }, + { + "begin" : 4090, + "end" : 4142, + "name" : "POP" + }, + { + "begin" : 4153, + "end" : 4169, + "name" : "DUP5" + }, + { + "begin" : 4152, + "end" : 4169, + "name" : "ISZERO" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "DUP1" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "PUSH [tag]", + "value" : "99" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "JUMPI" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "POP" + }, + { + "begin" : 4174, + "end" : 4188, + "name" : "DUP4" + }, + { + "begin" : 4173, + "end" : 4188, + "name" : "ISZERO" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "tag", + "value" : "99" + }, + { + "begin" : 4152, + "end" : 4188, + "name" : "JUMPDEST" + }, + { + "begin" : 4148, + "end" : 4208, + "name" : "ISZERO" + }, + { + "begin" : 4148, + "end" : 4208, + "name" : "PUSH [tag]", + "value" : "100" + }, + { + "begin" : 4148, + "end" : 4208, + "name" : "JUMPI" + }, + { + "begin" : 4203, + "end" : 4208, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4196, + "end" : 4208, + "name" : "SWAP6" + }, + { + "begin" : 4196, + "end" : 4208, + "name" : "POP" + }, + { + "begin" : 4196, + "end" : 4208, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 4196, + "end" : 4208, + "name" : "JUMP" + }, + { + "begin" : 4148, + "end" : 4208, + "name" : "tag", + "value" : "100" + }, + { + "begin" : 4148, + "end" : 4208, + "name" : "JUMPDEST" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "PUSH [tag]", + "value" : "101" + }, + { + "begin" : 4289, + "end" : 4290, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4269, + "end" : 4284, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4269, + "end" : 4284, + "name" : "SLOAD" + }, + { + "begin" : 4269, + "end" : 4288, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 4269, + "end" : 4288, + "name" : "SWAP1" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "SWAP2" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "SWAP1" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "AND" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "tag", + "value" : "101" + }, + { + "begin" : 4269, + "end" : 4291, + "name" : "JUMPDEST" + }, + { + "begin" : 4251, + "end" : 4266, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4251, + "end" : 4291, + "name" : "DUP2" + }, + { + "begin" : 4251, + "end" : 4291, + "name" : "SWAP1" + }, + { + "begin" : 4251, + "end" : 4291, + "name" : "SSTORE" + }, + { + "begin" : 4251, + "end" : 4291, + "name" : "POP" + }, + { + "begin" : 4375, + "end" : 4386, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4375, + "end" : 4393, + "name" : "DUP1" + }, + { + "begin" : 4375, + "end" : 4393, + "name" : "SLOAD" + }, + { + "begin" : 4375, + "end" : 4393, + "name" : "SWAP1" + }, + { + "begin" : 4375, + "end" : 4393, + "name" : "POP" + }, + { + "begin" : 4350, + "end" : 4393, + "name" : "SWAP3" + }, + { + "begin" : 4350, + "end" : 4393, + "name" : "POP" + }, + { + "begin" : 4452, + "end" : 4453, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4442, + "end" : 4453, + "name" : "SWAP2" + }, + { + "begin" : 4442, + "end" : 4453, + "name" : "POP" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "tag", + "value" : "103" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "JUMPDEST" + }, + { + "begin" : 4460, + "end" : 4477, + "name" : "DUP3" + }, + { + "begin" : 4455, + "end" : 4457, + "name" : "DUP3" + }, + { + "begin" : 4455, + "end" : 4477, + "name" : "LT" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "ISZERO" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "PUSH [tag]", + "value" : "104" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "JUMPI" + }, + { + "begin" : 4699, + "end" : 4711, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4699, + "end" : 4711, + "name" : "SLOAD" + }, + { + "begin" : 4680, + "end" : 4695, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 4680, + "end" : 4695, + "name" : "SLOAD" + }, + { + "begin" : 4680, + "end" : 4711, + "name" : "EQ" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "ISZERO" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "PUSH [tag]", + "value" : "106" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "JUMPI" + }, + { + "begin" : 4741, + "end" : 4752, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4753, + "end" : 4755, + "name" : "DUP3" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "DUP2" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "SLOAD" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "DUP2" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "LT" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "ISZERO" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "ISZERO" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "PUSH [tag]", + "value" : "107" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "JUMPI" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "INVALID" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "tag", + "value" : "107" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "JUMPDEST" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "SWAP1" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "MSTORE" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "KECCAK256" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "SWAP1" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "MUL" + }, + { + "begin" : 4741, + "end" : 4756, + "name" : "ADD" + }, + { + "begin" : 4741, + "end" : 4773, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4741, + "end" : 4773, + "name" : "ADD" + }, + { + "begin" : 4741, + "end" : 4773, + "name" : "SLOAD" + }, + { + "begin" : 4723, + "end" : 4773, + "name" : "SWAP1" + }, + { + "begin" : 4723, + "end" : 4773, + "name" : "POP" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "PUSH [tag]", + "value" : "109" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "JUMP" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "tag", + "value" : "106" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "JUMPDEST" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "PUSH [tag]", + "value" : "110" + }, + { + "begin" : 4945, + "end" : 4957, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4945, + "end" : 4957, + "name" : "SLOAD" + }, + { + "begin" : 4914, + "end" : 4925, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4926, + "end" : 4928, + "name" : "DUP5" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "DUP2" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "SLOAD" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "DUP2" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "LT" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "ISZERO" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "ISZERO" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "PUSH [tag]", + "value" : "111" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "JUMPI" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "INVALID" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "tag", + "value" : "111" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "JUMPDEST" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "SWAP1" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "MSTORE" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "KECCAK256" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "SWAP1" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "MUL" + }, + { + "begin" : 4914, + "end" : 4929, + "name" : "ADD" + }, + { + "begin" : 4914, + "end" : 4940, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4914, + "end" : 4940, + "name" : "ADD" + }, + { + "begin" : 4914, + "end" : 4940, + "name" : "SLOAD" + }, + { + "begin" : 4914, + "end" : 4944, + "name" : "PUSH [tag]", + "value" : "113" + }, + { + "begin" : 4914, + "end" : 4944, + "name" : "SWAP1" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "SWAP2" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "SWAP1" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "AND" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "tag", + "value" : "110" + }, + { + "begin" : 4914, + "end" : 4958, + "name" : "JUMPDEST" + }, + { + "begin" : 4896, + "end" : 4958, + "name" : "SWAP1" + }, + { + "begin" : 4896, + "end" : 4958, + "name" : "POP" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "tag", + "value" : "109" + }, + { + "begin" : 4676, + "end" : 4967, + "name" : "JUMPDEST" + }, + { + "begin" : 5045, + "end" : 5060, + "name" : "DUP1" + }, + { + "begin" : 5013, + "end" : 5024, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5025, + "end" : 5027, + "name" : "DUP4" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "DUP2" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "SLOAD" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "DUP2" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "LT" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "ISZERO" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "ISZERO" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "JUMPI" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "INVALID" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "tag", + "value" : "114" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "JUMPDEST" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "SWAP1" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "MSTORE" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "KECCAK256" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "SWAP1" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "MUL" + }, + { + "begin" : 5013, + "end" : 5028, + "name" : "ADD" + }, + { + "begin" : 5013, + "end" : 5042, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5013, + "end" : 5042, + "name" : "ADD" + }, + { + "begin" : 5013, + "end" : 5060, + "name" : "DUP2" + }, + { + "begin" : 5013, + "end" : 5060, + "name" : "SWAP1" + }, + { + "begin" : 5013, + "end" : 5060, + "name" : "SSTORE" + }, + { + "begin" : 5013, + "end" : 5060, + "name" : "POP" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "DUP2" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "DUP1" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "ADD" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "SWAP3" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "POP" + }, + { + "begin" : 4479, + "end" : 4483, + "name" : "POP" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "PUSH [tag]", + "value" : "103" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "JUMP" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "tag", + "value" : "104" + }, + { + "begin" : 4437, + "end" : 5067, + "name" : "JUMPDEST" + }, + { + "begin" : 5080, + "end" : 5084, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5073, + "end" : 5084, + "name" : "SWAP6" + }, + { + "begin" : 5073, + "end" : 5084, + "name" : "POP" + }, + { + "begin" : 719, + "end" : 720, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 719, + "end" : 720, + "name" : "JUMPDEST" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "POP" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "SWAP1" + }, + { + "begin" : 3850, + "end" : 5089, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "tag", + "value" : "66" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "JUMPDEST" + }, + { + "begin" : 1731, + "end" : 1738, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1758, + "end" : 1759, + "name" : "DUP3" + }, + { + "begin" : 1753, + "end" : 1754, + "name" : "DUP3" + }, + { + "begin" : 1753, + "end" : 1759, + "name" : "GT" + }, + { + "begin" : 1753, + "end" : 1759, + "name" : "ISZERO" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "ISZERO" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "ISZERO" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "PUSH [tag]", + "value" : "117" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "JUMPI" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "INVALID" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "tag", + "value" : "117" + }, + { + "begin" : 1746, + "end" : 1760, + "name" : "JUMPDEST" + }, + { + "begin" : 1777, + "end" : 1778, + "name" : "DUP2" + }, + { + "begin" : 1773, + "end" : 1774, + "name" : "DUP4" + }, + { + "begin" : 1773, + "end" : 1778, + "name" : "SUB" + }, + { + "begin" : 1766, + "end" : 1778, + "name" : "SWAP1" + }, + { + "begin" : 1766, + "end" : 1778, + "name" : "POP" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "SWAP3" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "SWAP2" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "POP" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "POP" + }, + { + "begin" : 1673, + "end" : 1783, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "tag", + "value" : "97" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "JUMPDEST" + }, + { + "begin" : 1285, + "end" : 1292, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1340, + "end" : 1349, + "name" : "DUP1" + }, + { + "begin" : 1309, + "end" : 1310, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1304, + "end" : 1305, + "name" : "DUP5" + }, + { + "begin" : 1304, + "end" : 1310, + "name" : "EQ" + }, + { + "begin" : 1300, + "end" : 1335, + "name" : "ISZERO" + }, + { + "begin" : 1300, + "end" : 1335, + "name" : "PUSH [tag]", + "value" : "119" + }, + { + "begin" : 1300, + "end" : 1335, + "name" : "JUMPI" + }, + { + "begin" : 1327, + "end" : 1328, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1320, + "end" : 1328, + "name" : "SWAP2" + }, + { + "begin" : 1320, + "end" : 1328, + "name" : "POP" + }, + { + "begin" : 1320, + "end" : 1328, + "name" : "PUSH [tag]", + "value" : "118" + }, + { + "begin" : 1320, + "end" : 1328, + "name" : "JUMP" + }, + { + "begin" : 1300, + "end" : 1335, + "name" : "tag", + "value" : "119" + }, + { + "begin" : 1300, + "end" : 1335, + "name" : "JUMPDEST" + }, + { + "begin" : 1356, + "end" : 1357, + "name" : "DUP3" + }, + { + "begin" : 1352, + "end" : 1353, + "name" : "DUP5" + }, + { + "begin" : 1352, + "end" : 1357, + "name" : "MUL" + }, + { + "begin" : 1340, + "end" : 1357, + "name" : "SWAP1" + }, + { + "begin" : 1340, + "end" : 1357, + "name" : "POP" + }, + { + "begin" : 1379, + "end" : 1380, + "name" : "DUP3" + }, + { + "begin" : 1374, + "end" : 1375, + "name" : "DUP5" + }, + { + "begin" : 1370, + "end" : 1371, + "name" : "DUP3" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "DUP2" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "ISZERO" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "ISZERO" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "JUMPI" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "INVALID" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "tag", + "value" : "120" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "JUMPDEST" + }, + { + "begin" : 1370, + "end" : 1375, + "name" : "DIV" + }, + { + "begin" : 1370, + "end" : 1380, + "name" : "EQ" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "ISZERO" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "ISZERO" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "PUSH [tag]", + "value" : "121" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "JUMPI" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "INVALID" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "tag", + "value" : "121" + }, + { + "begin" : 1363, + "end" : 1381, + "name" : "JUMPDEST" + }, + { + "begin" : 1394, + "end" : 1395, + "name" : "DUP1" + }, + { + "begin" : 1387, + "end" : 1395, + "name" : "SWAP2" + }, + { + "begin" : 1387, + "end" : 1395, + "name" : "POP" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "tag", + "value" : "118" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "JUMPDEST" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "POP" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "SWAP3" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "SWAP2" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "POP" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "POP" + }, + { + "begin" : 1227, + "end" : 1400, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "tag", + "value" : "102" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "JUMPDEST" + }, + { + "begin" : 1845, + "end" : 1852, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1860, + "end" : 1869, + "name" : "DUP1" + }, + { + "begin" : 1876, + "end" : 1877, + "name" : "DUP3" + }, + { + "begin" : 1872, + "end" : 1873, + "name" : "DUP5" + }, + { + "begin" : 1872, + "end" : 1877, + "name" : "ADD" + }, + { + "begin" : 1860, + "end" : 1877, + "name" : "SWAP1" + }, + { + "begin" : 1860, + "end" : 1877, + "name" : "POP" + }, + { + "begin" : 1895, + "end" : 1896, + "name" : "DUP4" + }, + { + "begin" : 1890, + "end" : 1891, + "name" : "DUP2" + }, + { + "begin" : 1890, + "end" : 1896, + "name" : "LT" + }, + { + "begin" : 1890, + "end" : 1896, + "name" : "ISZERO" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "ISZERO" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "ISZERO" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "PUSH [tag]", + "value" : "123" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "JUMPI" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "INVALID" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "tag", + "value" : "123" + }, + { + "begin" : 1883, + "end" : 1897, + "name" : "JUMPDEST" + }, + { + "begin" : 1910, + "end" : 1911, + "name" : "DUP1" + }, + { + "begin" : 1903, + "end" : 1911, + "name" : "SWAP2" + }, + { + "begin" : 1903, + "end" : 1911, + "name" : "POP" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "POP" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "SWAP3" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "SWAP2" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "POP" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "POP" + }, + { + "begin" : 1787, + "end" : 1916, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "tag", + "value" : "113" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "JUMPDEST" + }, + { + "begin" : 1462, + "end" : 1469, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1551, + "end" : 1560, + "name" : "DUP1" + }, + { + "begin" : 1567, + "end" : 1568, + "name" : "DUP3" + }, + { + "begin" : 1563, + "end" : 1564, + "name" : "DUP5" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "DUP2" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "ISZERO" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "ISZERO" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "PUSH [tag]", + "value" : "125" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "JUMPI" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "INVALID" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "tag", + "value" : "125" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "JUMPDEST" + }, + { + "begin" : 1563, + "end" : 1568, + "name" : "DIV" + }, + { + "begin" : 1551, + "end" : 1568, + "name" : "SWAP1" + }, + { + "begin" : 1551, + "end" : 1568, + "name" : "POP" + }, + { + "begin" : 1663, + "end" : 1664, + "name" : "DUP1" + }, + { + "begin" : 1656, + "end" : 1664, + "name" : "SWAP2" + }, + { + "begin" : 1656, + "end" : 1664, + "name" : "POP" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "POP" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "SWAP3" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "SWAP2" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "POP" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "POP" + }, + { + "begin" : 1404, + "end" : 1669, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SLOAD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP4" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ISZERO" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "GT" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "126" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MUL" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MUL" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP4" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "KECCAK256" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "127" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "128" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "127" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "126" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "128" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "129" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "130" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "GT" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ISZERO" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "131" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPI" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "EXP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SLOAD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "MUL" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "NOT" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "AND" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "DUP3" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SSTORE" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "ADD" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "PUSH [tag]", + "value" : "130" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "131" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "POP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMP" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "tag", + "value" : "129" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMPDEST" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "SWAP1" + }, + { + "begin" : 2444, + "end" : 6709, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b604051606080610d6783398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260028190555081600581905550806004819055506000600381905550505050610cbb806100ac6000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a7230582064557d5a14c9238c03654a95934ac547ffb55d5e9b4db639152fd44b937789db0029", + "bin-runtime" : "6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a7230582064557d5a14c9238c03654a95934ac547ffb55d5e9b4db639152fd44b937789db0029", + "clone-bin" : "6060604052341561000f57600080fd5b6040516060806100de83398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816005819055508060048190555060006003819055505050506033806100ab6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "allocationAmount(uint256)" : "931dab50", + "allocations(uint256)" : "0a2642bf", + "currentInterval()" : "363487bc", + "intervalDuration()" : "3076dc42", + "numAllocations()" : "3a2960e1", + "numIntervals()" : "a31e88c2", + "owner()" : "8da5cb5b", + "processInterval()" : "f95e6306", + "pushAllocation(address,uint256)" : "6dc0a997", + "transferOwnership(address)" : "f2fde38b", + "unlock(uint256)" : "6198e339", + "unlockDate()" : "69ac5721" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allocations\",\"outputs\":[{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"allocation\",\"type\":\"uint256\"},{\"name\":\"remainingBalance\",\"type\":\"uint256\"},{\"name\":\"currentInterval\",\"type\":\"uint256\"},{\"name\":\"currentReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"intervalDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentInterval\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numAllocations\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"name\":\"_shouldReward\",\"type\":\"bool\"},{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_rewardAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"unlockDate\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_beneficiary\",\"type\":\"address\"},{\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"pushAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"allocationAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numIntervals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"processInterval\",\"outputs\":[{\"name\":\"_shouldProcessRewards\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_crowdsaleEndDate\",\"type\":\"uint256\"},{\"name\":\"_numIntervals\",\"type\":\"uint256\"},{\"name\":\"_intervalDuration\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDLockup.sol\":\"BRDLockup\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDLockup.sol\":{\"keccak256\":\"0x9397ab2ee4f665f6887b25c47d75320d44a035f58e56b1f46c209a6622d4ad61\",\"urls\":[\"bzzr://4fdc28346eb88a0f745d92097da76e7110d01ea9402b77e6647870596415bf2f\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP1 PUSH2 0xD67 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 DUP2 SWAP1 SSTORE POP POP POP POP PUSH2 0xCBB DUP1 PUSH2 0xAC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xBA JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xA2642BF EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x3076DC42 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x363487BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x3A2960E1 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x6198E339 EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0x69AC5721 EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0x6DC0A997 EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x931DAB50 EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xA31E88C2 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0xF95E6306 EQ PUSH2 0x387 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE0 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x149 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x151 PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17A PUSH2 0x41F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A3 PUSH2 0x425 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DA PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x432 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x239 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x241 PUSH2 0x683 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x262 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x297 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x689 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2AC PUSH2 0x821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x30F PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x846 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x338 PUSH2 0x870 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x359 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x385 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x876 JUMP JUMPDEST STOP JUMPDEST CALLVALUE ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39A PUSH2 0x9CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x3C3 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4A4 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x3 ADD SLOAD LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x3 SLOAD PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4CE JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP PUSH2 0x536 PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x4F5 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x1 DUP7 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x516 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD SLOAD PUSH2 0xB6A SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 DUP6 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x545 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x569 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x6381D9813CABEB57471B5A7E05078E64845CCDB563146A6911D536F24CE960F1 PUSH1 0x1 DUP7 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x5E1 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 SWAP3 POP PUSH2 0x616 JUMP JUMPDEST PUSH1 0x0 SWAP3 POP JUMPDEST PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x625 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD SWAP1 POP PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x648 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD TIMESTAMP LT ISZERO ISZERO PUSH2 0x6F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD DUP1 PUSH1 0x1 ADD DUP3 DUP2 PUSH2 0x708 SWAP2 SWAP1 PUSH2 0xBF7 JUMP JUMPDEST SWAP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x625FED9875DADA8643F2418B838AE0BC78D9A148A18EEE4EE1979FF0F3F5D427 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x857 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x8D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x90D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xA2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD TIMESTAMP LT ISZERO DUP1 ISZERO PUSH2 0xA6A JUMPI POP PUSH2 0xA53 PUSH1 0x4 SLOAD PUSH1 0x3 SLOAD PUSH2 0xB83 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0xA68 PUSH1 0x2 SLOAD TIMESTAMP PUSH2 0xB6A SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST GT JUMPDEST SWAP5 POP PUSH1 0x5 SLOAD PUSH1 0x3 SLOAD LT SWAP4 POP DUP5 ISZERO DUP1 PUSH2 0xA80 JUMPI POP DUP4 ISZERO JUMPDEST ISZERO PUSH2 0xA8E JUMPI PUSH1 0x0 SWAP6 POP PUSH2 0xB62 JUMP JUMPDEST PUSH2 0xAA4 PUSH1 0x1 PUSH1 0x3 SLOAD PUSH2 0xBBE SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP3 POP PUSH1 0x0 SWAP2 POP JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xB5D JUMPI PUSH1 0x5 SLOAD PUSH1 0x3 SLOAD EQ ISZERO PUSH2 0xAF3 JUMPI PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xADA JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x2 ADD SLOAD SWAP1 POP PUSH2 0xB2B JUMP JUMPDEST PUSH2 0xB28 PUSH1 0x5 SLOAD PUSH1 0x1 DUP5 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xB08 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x1 ADD SLOAD PUSH2 0xBDC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP JUMPDEST DUP1 PUSH1 0x1 DUP4 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0xB3B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP DUP2 DUP1 PUSH1 0x1 ADD SWAP3 POP POP PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x1 SWAP6 POP JUMPDEST POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xB78 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 EQ ISZERO PUSH2 0xB98 JUMPI PUSH1 0x0 SWAP2 POP PUSH2 0xBB7 JUMP JUMPDEST DUP3 DUP5 MUL SWAP1 POP DUP3 DUP5 DUP3 DUP2 ISZERO ISZERO PUSH2 0xBA9 JUMPI INVALID JUMPDEST DIV EQ ISZERO ISZERO PUSH2 0xBB3 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0xBD2 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 DUP2 ISZERO ISZERO PUSH2 0xBEA JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 ISZERO GT PUSH2 0xC24 JUMPI PUSH1 0x5 MUL DUP2 PUSH1 0x5 MUL DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC23 SWAP2 SWAP1 PUSH2 0xC29 JUMP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xC8C SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xC88 JUMPI PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x4 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x5 ADD PUSH2 0xC2F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH5 0x557D5A14C9 0x23 DUP13 SUB PUSH6 0x4A95934AC547 SELFDESTRUCT 0xb5 0x5d 0x5e SWAP12 0x4d 0xb6 CODECOPY ISZERO 0x2f 0xd4 0x4b SWAP4 PUSH24 0x89DB00290000000000000000000000000000000000000000 ", + "srcmap" : "2444:4265:0:-;;;3546:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;3669:17;3656:10;:30;;;;3707:13;3692:12;:28;;;;3745:17;3726:16;:36;;;;3786:1;3768:15;:19;;;;3546:246;;;2444:4265;;;;;;", + "srcmap-runtime" : "2444:4265:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2996:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3237;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3146:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5446:924;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3083:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6414:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5281:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;3850:1239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2996:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3237:::-;;;;:::o;3146:30::-;;;;:::o;5130:93::-;5181:4;5200:11;:18;;;;5193:25;;5130:93;:::o;5446:924::-;5501:18;5521:20;5543:21;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;5691:15;;5653:11;5665:6;5653:19;;;;;;;;;;;;;;;;;;;;:35;;;:53;5649:588;;;5819:15;;5781:11;5793:6;5781:19;;;;;;;;;;;;;;;;;;;;:35;;:53;;;;5939:75;5980:11;5992:6;5980:19;;;;;;;;;;;;;;;;;;;;:33;;;5939:11;5951:6;5939:19;;;;;;;;;;;;;;;;;;;;:36;;;:40;;:75;;;;:::i;:::-;5900:11;5912:6;5900:19;;;;;;;;;;;;;;;;;;;;:36;;:114;;;;6049:11;6061:6;6049:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;6042:74;;;6082:11;6094:6;6082:19;;;;;;;;;;;;;;;;;;;;:33;;;6042:74;;;;;;;;;;;;;;;;;;6162:4;6146:20;;5649:588;;;6225:5;6209:21;;5649:588;6280:11;6292:6;6280:19;;;;;;;;;;;;;;;;;;;;:33;;;6264:49;;6334:11;6346:6;6334:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;6319:46;;5446:924;;;;;:::o;3083:25::-;;;;:::o;6414:293::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;6517:10;;6511:3;:16;6503:25;;;;;;;;6534:11;:132;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;6558:102;;;;;;;;;6578:12;6558:102;;;;;;6600:10;6558:102;;;;6620:10;6558:102;;;;6640:1;6558:102;;;;6651:1;6558:102;;;6534:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6677:12;6672:30;;;6691:10;6672:30;;;;;;;;;;;;;;;;;;6414:293;;:::o;291:20::-;;;;;;;;;;;;;:::o;5281:121::-;5345:7;5367:11;5379:6;5367:19;;;;;;;;;;;;;;;;;;;;:30;;;5360:37;;5281:121;;;:::o;3329:27::-;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;3850:1239::-;3903:26;3980:21;4090:19;4350:22;4442:7;4553:23;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;4011:10;;4004:3;:17;;:80;;;;;4047:37;4067:16;;4047:15;;:19;;:37;;;;:::i;:::-;4025:19;4033:10;;4025:3;:7;;:19;;;;:::i;:::-;:59;4004:80;3980:104;;4130:12;;4112:15;;:30;4090:52;;4153:16;4152:17;:36;;;;4174:14;4173:15;4152:36;4148:60;;;4203:5;4196:12;;;;4148:60;4269:22;4289:1;4269:15;;:19;;:22;;;;:::i;:::-;4251:15;:40;;;;4375:11;:18;;;;4350:43;;4452:1;4442:11;;4437:630;4460:17;4455:2;:22;4437:630;;;4699:12;;4680:15;;:31;4676:291;;;4741:11;4753:2;4741:15;;;;;;;;;;;;;;;;;;;;:32;;;4723:50;;4676:291;;;4914:44;4945:12;;4914:11;4926:2;4914:15;;;;;;;;;;;;;;;;;;;;:26;;;:30;;:44;;;;:::i;:::-;4896:62;;4676:291;5045:15;5013:11;5025:2;5013:15;;;;;;;;;;;;;;;;;;;;:29;;:47;;;;4479:4;;;;;;;4437:630;;;5080:4;5073:11;;719:1;3850:1239;;;;;;:::o;1673:110::-;1731:7;1758:1;1753;:6;;1746:14;;;;;;1777:1;1773;:5;1766:12;;1673:110;;;;:::o;1227:173::-;1285:7;1340:9;1309:1;1304;:6;1300:35;;;1327:1;1320:8;;;;1300:35;1356:1;1352;:5;1340:17;;1379:1;1374;1370;:5;;;;;;;;:10;1363:18;;;;;;1394:1;1387:8;;1227:173;;;;;;:::o;1787:129::-;1845:7;1860:9;1876:1;1872;:5;1860:17;;1895:1;1890;:6;;1883:14;;;;;;1910:1;1903:8;;1787:129;;;;;:::o;1404:265::-;1462:7;1551:9;1567:1;1563;:5;;;;;;;;1551:17;;1663:1;1656:8;;1404:265;;;;;:::o;2444:4265::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDLockup.sol:Ownable" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "CALLVALUE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "ISZERO" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPI" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 522, + "end" : 577, + "name" : "DUP1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "REVERT" + }, + { + "begin" : 522, + "end" : 577, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPDEST" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CODECOPY" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820ce3ee75342218cd56617b85ba3e9bed5a6ef3f6646a21707f9885fe0309cf3790029", + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATASIZE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "LT" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATALOAD" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "SWAP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DIV" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "AND" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPDEST" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820ce3ee75342218cd56617b85ba3e9bed5a6ef3f6646a21707f9885fe0309cf3790029", + "bin-runtime" : "60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820ce3ee75342218cd56617b85ba3e9bed5a6ef3f6646a21707f9885fe0309cf3790029", + "clone-bin" : "60606040523415600e57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380605b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"}", + "hashes" : { + "owner()" : "8da5cb5b", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDLockup.sol\":\"Ownable\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDLockup.sol\":{\"keccak256\":\"0x9397ab2ee4f665f6887b25c47d75320d44a035f58e56b1f46c209a6622d4ad61\",\"urls\":[\"bzzr://4fdc28346eb88a0f745d92097da76e7110d01ea9402b77e6647870596415bf2f\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x285 DUP1 PUSH2 0x5E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xce RETURNDATACOPY 0xe7 MSTORE8 TIMESTAMP 0x21 DUP13 0xd5 PUSH7 0x17B85BA3E9BED5 0xa6 0xef 0x3f PUSH7 0x46A21707F9885F 0xe0 ADDRESS SWAP13 RETURN PUSH26 0x29000000000000000000000000000000000000000000000000 ", + "srcmap" : "270:789:0:-;;;522:55;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;270:789;;;;;;", + "srcmap-runtime" : "270:789:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDLockup.sol:SafeMath" : { + "abi" : "[]", + "asm" : { + ".code" : [ + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "MSTORE" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "CALLVALUE" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "ISZERO" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "JUMPI" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "DUP1" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "REVERT" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "JUMPDEST" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "DUP1" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "CODECOPY" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058208ccf0fa4c01998b08d1d3e4d9084ba2937766a653f5be427f32c2609a4c7722c0029", + ".code" : [ + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "MSTORE" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "DUP1" + }, + { + "begin" : 1206, + "end" : 1918, + "name" : "REVERT" + } + ] + } + } + }, + "bin" : "60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058208ccf0fa4c01998b08d1d3e4d9084ba2937766a653f5be427f32c2609a4c7722c0029", + "bin-runtime" : "6060604052600080fd00a165627a7a723058208ccf0fa4c01998b08d1d3e4d9084ba2937766a653f5be427f32c2609a4c7722c0029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{},\"title\":\"SafeMath\"}", + "hashes" : {}, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDLockup.sol\":\"SafeMath\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDLockup.sol\":{\"keccak256\":\"0x9397ab2ee4f665f6887b25c47d75320d44a035f58e56b1f46c209a6622d4ad61\",\"urls\":[\"bzzr://4fdc28346eb88a0f745d92097da76e7110d01ea9402b77e6647870596415bf2f\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH1 0xE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x35 DUP1 PUSH1 0x1B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 DUP13 0xcf 0xf LOG4 0xc0 NOT SWAP9 0xb0 DUP14 0x1d RETURNDATACOPY 0x4d SWAP1 DUP5 0xba 0x29 CALLDATACOPY PUSH23 0x6A653F5BE427F32C2609A4C7722C002900000000000000 ", + "srcmap" : "1206:712:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "1206:712:0:-;;;;;", + "userdoc" : "{\"methods\":{}}" + } + }, + "sourceList" : [ "build/flattened/BRDLockup.sol" ], + "sources" : { + "build/flattened/BRDLockup.sol" : { + "AST" : { + "absolutePath" : "build/flattened/BRDLockup.sol", + "exportedSymbols" : { + "BRDLockup" : [ 448 ], + "Ownable" : [ 55 ], + "SafeMath" : [ 151 ] + }, + "id" : 449, + "nodeType" : "SourceUnit", + "nodes" : [ + { + "id" : 1, + "literals" : [ "solidity", "^", "0.4", ".18" ], + "nodeType" : "PragmaDirective", + "src" : "0:24:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented" : true, + "id" : 55, + "linearizedBaseContracts" : [ 55 ], + "name" : "Ownable", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 3, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 55, + "src" : "291:20:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 2, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "291:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 9, + "name" : "OwnershipTransferred", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 8, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 5, + "indexed" : true, + "name" : "previousOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "344:29:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 4, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "344:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 7, + "indexed" : true, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "375:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 6, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "375:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "343:57:0" + }, + "src" : "317:84:0" + }, + { + "body" : { + "id" : 17, + "nodeType" : "Block", + "src" : "548:29:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 15, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 12, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "554:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 13, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 460, + "src" : "562:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 14, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "562:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "554:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 16, + "nodeType" : "ExpressionStatement", + "src" : "554:18:0" + } + ] + }, + "id" : 18, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "Ownable", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 10, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "538:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 11, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "548:0:0" + }, + "scope" : 55, + "src" : "522:55:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 28, + "nodeType" : "Block", + "src" : "679:46:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 24, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 21, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 460, + "src" : "693:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 22, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "693:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 23, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "707:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "693:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 20, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 463, + "src" : "685:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 25, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "685:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 26, + "nodeType" : "ExpressionStatement", + "src" : "685:28:0" + }, + { + "id" : 27, + "nodeType" : "PlaceholderStatement", + "src" : "719:1:0" + } + ] + }, + "id" : 29, + "name" : "onlyOwner", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 19, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "676:2:0" + }, + "src" : "658:67:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 53, + "nodeType" : "Block", + "src" : "949:107:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 41, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 37, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "963:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 39, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "983:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 38, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "975:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 40, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "975:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "963:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 36, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 463, + "src" : "955:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 42, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "955:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 43, + "nodeType" : "ExpressionStatement", + "src" : "955:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 45, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1013:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 46, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1020:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 44, + "name" : "OwnershipTransferred", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 9, + "src" : "992:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString" : "function (address,address)" + } + }, + "id" : 47, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "992:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 48, + "nodeType" : "ExpressionStatement", + "src" : "992:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 51, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 49, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1035:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 50, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1043:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "1035:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 52, + "nodeType" : "ExpressionStatement", + "src" : "1035:16:0" + } + ] + }, + "id" : 54, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 34, + "modifierName" : { + "argumentTypes" : null, + "id" : 33, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "939:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "939:9:0" + } + ], + "name" : "transferOwnership", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 32, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 31, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 54, + "src" : "914:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 30, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "914:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "913:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 35, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "949:0:0" + }, + "scope" : 55, + "src" : "887:169:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 449, + "src" : "270:789:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "library", + "documentation" : "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented" : true, + "id" : 151, + "linearizedBaseContracts" : [ 151 ], + "name" : "SafeMath", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "body" : { + "id" : 87, + "nodeType" : "Block", + "src" : "1294:106:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 66, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 64, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 57, + "src" : "1304:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 65, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "1309:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "1304:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 70, + "nodeType" : "IfStatement", + "src" : "1300:35:0", + "trueBody" : { + "id" : 69, + "nodeType" : "Block", + "src" : "1312:23:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 67, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "1327:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "functionReturnParameters" : 63, + "id" : 68, + "nodeType" : "Return", + "src" : "1320:8:0" + } + ] + } + }, + { + "assignments" : [ 72 ], + "declarations" : [ + { + "constant" : false, + "id" : 72, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 88, + "src" : "1340:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 71, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1340:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 76, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 75, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 73, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 57, + "src" : "1352:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "*", + "rightExpression" : { + "argumentTypes" : null, + "id" : 74, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 59, + "src" : "1356:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1352:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "1340:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 82, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 80, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 78, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 72, + "src" : "1370:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 79, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 57, + "src" : "1374:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1370:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 81, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 59, + "src" : "1379:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1370:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 77, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 451, + "src" : "1363:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 83, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "1363:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 84, + "nodeType" : "ExpressionStatement", + "src" : "1363:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 85, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 72, + "src" : "1394:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 63, + "id" : 86, + "nodeType" : "Return", + "src" : "1387:8:0" + } + ] + }, + "id" : 88, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "mul", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 60, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 57, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 88, + "src" : "1240:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 56, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1240:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 59, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 88, + "src" : "1251:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 58, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1251:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1239:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 63, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 62, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 88, + "src" : "1285:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 61, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1285:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1284:9:0" + }, + "scope" : 151, + "src" : "1227:173:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 105, + "nodeType" : "Block", + "src" : "1471:198:0", + "statements" : [ + { + "assignments" : [ 98 ], + "declarations" : [ + { + "constant" : false, + "id" : 98, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 106, + "src" : "1551:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 97, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1551:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 102, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 101, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 99, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 90, + "src" : "1563:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 100, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 92, + "src" : "1567:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1563:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "1551:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 103, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 98, + "src" : "1663:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 96, + "id" : 104, + "nodeType" : "Return", + "src" : "1656:8:0" + } + ] + }, + "id" : 106, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "div", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 93, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 90, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 106, + "src" : "1417:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 89, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1417:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 92, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 106, + "src" : "1428:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 91, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1428:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1416:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 96, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 95, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 106, + "src" : "1462:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 94, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1462:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1461:9:0" + }, + "scope" : 151, + "src" : "1404:265:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 125, + "nodeType" : "Block", + "src" : "1740:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 118, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 116, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 110, + "src" : "1753:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 117, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 108, + "src" : "1758:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1753:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 115, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 451, + "src" : "1746:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 119, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "1746:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 120, + "nodeType" : "ExpressionStatement", + "src" : "1746:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 123, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 121, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 108, + "src" : "1773:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "-", + "rightExpression" : { + "argumentTypes" : null, + "id" : 122, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 110, + "src" : "1777:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1773:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 114, + "id" : 124, + "nodeType" : "Return", + "src" : "1766:12:0" + } + ] + }, + "id" : 126, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "sub", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 111, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 108, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 126, + "src" : "1686:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 107, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1686:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 110, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 126, + "src" : "1697:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 109, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1697:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1685:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 114, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 113, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 126, + "src" : "1731:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 112, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1731:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1730:9:0" + }, + "scope" : 151, + "src" : "1673:110:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 149, + "nodeType" : "Block", + "src" : "1854:62:0", + "statements" : [ + { + "assignments" : [ 136 ], + "declarations" : [ + { + "constant" : false, + "id" : 136, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 150, + "src" : "1860:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 135, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1860:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 140, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 139, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 137, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 128, + "src" : "1872:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "+", + "rightExpression" : { + "argumentTypes" : null, + "id" : 138, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 130, + "src" : "1876:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1872:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "1860:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 144, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 142, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 136, + "src" : "1890:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 143, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 128, + "src" : "1895:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1890:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 141, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 451, + "src" : "1883:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 145, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "1883:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 146, + "nodeType" : "ExpressionStatement", + "src" : "1883:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 147, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 136, + "src" : "1910:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 134, + "id" : 148, + "nodeType" : "Return", + "src" : "1903:8:0" + } + ] + }, + "id" : 150, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "add", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 131, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 128, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 150, + "src" : "1800:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 127, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1800:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 130, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 150, + "src" : "1811:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 129, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1811:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1799:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 134, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 133, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 150, + "src" : "1845:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 132, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1845:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1844:9:0" + }, + "scope" : 151, + "src" : "1787:129:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + } + ], + "scope" : 449, + "src" : "1206:712:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 152, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "2466:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 153, + "nodeType" : "InheritanceSpecifier", + "src" : "2466:7:0" + } + ], + "contractDependencies" : [ 55 ], + "contractKind" : "contract", + "documentation" : "Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens.\nPre-sold tokens are rewarded up to `numIntervals` times separated by an\n`interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`)\nis marked for reward each `interval`.\n * The owner of the contract will call processInterval() which will\nupdate the allocation state. The owner of the contract should then\nread the allocation data and reward the beneficiaries.", + "fullyImplemented" : true, + "id" : 448, + "linearizedBaseContracts" : [ 448, 55 ], + "name" : "BRDLockup", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 156, + "libraryName" : { + "contractScope" : null, + "id" : 154, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 151, + "src" : "2484:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$151", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "2478:27:0", + "typeName" : { + "id" : 155, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2497:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "canonicalName" : "BRDLockup.Allocation", + "id" : 167, + "members" : [ + { + "constant" : false, + "id" : 158, + "name" : "beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 167, + "src" : "2615:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 157, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2615:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 160, + "name" : "allocation", + "nodeType" : "VariableDeclaration", + "scope" : 167, + "src" : "2675:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 159, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2675:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 162, + "name" : "remainingBalance", + "nodeType" : "VariableDeclaration", + "scope" : 167, + "src" : "2731:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 161, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2731:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 164, + "name" : "currentInterval", + "nodeType" : "VariableDeclaration", + "scope" : 167, + "src" : "2809:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 163, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2809:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 166, + "name" : "currentReward", + "nodeType" : "VariableDeclaration", + "scope" : 167, + "src" : "2884:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 165, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2884:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "name" : "Allocation", + "nodeType" : "StructDefinition", + "scope" : 448, + "src" : "2591:375:0", + "visibility" : "public" + }, + { + "constant" : false, + "id" : 170, + "name" : "allocations", + "nodeType" : "VariableDeclaration", + "scope" : 448, + "src" : "2996:31:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + }, + "typeName" : { + "baseType" : { + "contractScope" : null, + "id" : 168, + "name" : "Allocation", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 167, + "src" : "2996:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage_ptr", + "typeString" : "struct BRDLockup.Allocation storage pointer" + } + }, + "id" : 169, + "length" : null, + "nodeType" : "ArrayTypeName", + "src" : "2996:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage_ptr", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage pointer" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 172, + "name" : "unlockDate", + "nodeType" : "VariableDeclaration", + "scope" : 448, + "src" : "3083:25:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 171, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3083:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 174, + "name" : "currentInterval", + "nodeType" : "VariableDeclaration", + "scope" : 448, + "src" : "3146:30:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 173, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3146:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 176, + "name" : "intervalDuration", + "nodeType" : "VariableDeclaration", + "scope" : 448, + "src" : "3237:31:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 175, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3237:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 178, + "name" : "numIntervals", + "nodeType" : "VariableDeclaration", + "scope" : 448, + "src" : "3329:27:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 177, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3329:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 184, + "name" : "Lock", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 183, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 180, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 184, + "src" : "3372:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 179, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3372:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 182, + "indexed" : false, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 184, + "src" : "3393:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 181, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3393:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3371:38:0" + }, + "src" : "3361:49:0" + }, + { + "anonymous" : false, + "id" : 190, + "name" : "Unlock", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 189, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 186, + "indexed" : true, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 190, + "src" : "3427:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 185, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3427:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 188, + "indexed" : false, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 190, + "src" : "3448:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 187, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3448:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3426:38:0" + }, + "src" : "3414:51:0" + }, + { + "body" : { + "id" : 215, + "nodeType" : "Block", + "src" : "3650:142:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 201, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 199, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 172, + "src" : "3656:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 200, + "name" : "_crowdsaleEndDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 192, + "src" : "3669:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3656:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 202, + "nodeType" : "ExpressionStatement", + "src" : "3656:30:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 205, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 203, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "3692:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 204, + "name" : "_numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 194, + "src" : "3707:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3692:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 206, + "nodeType" : "ExpressionStatement", + "src" : "3692:28:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 209, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 207, + "name" : "intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 176, + "src" : "3726:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 208, + "name" : "_intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 196, + "src" : "3745:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3726:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 210, + "nodeType" : "ExpressionStatement", + "src" : "3726:36:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 213, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 211, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "3768:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 212, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3786:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "3768:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 214, + "nodeType" : "ExpressionStatement", + "src" : "3768:19:0" + } + ] + }, + "id" : 216, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "BRDLockup", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 197, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 192, + "name" : "_crowdsaleEndDate", + "nodeType" : "VariableDeclaration", + "scope" : 216, + "src" : "3565:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 191, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3565:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 194, + "name" : "_numIntervals", + "nodeType" : "VariableDeclaration", + "scope" : 216, + "src" : "3592:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 193, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3592:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 196, + "name" : "_intervalDuration", + "nodeType" : "VariableDeclaration", + "scope" : 216, + "src" : "3615:25:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 195, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3615:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3564:77:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 198, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "3650:0:0" + }, + "scope" : 448, + "src" : "3546:246:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 312, + "nodeType" : "Block", + "src" : "3931:1158:0", + "statements" : [ + { + "assignments" : [ 224 ], + "declarations" : [ + { + "constant" : false, + "id" : 224, + "name" : "_correctInterval", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "3980:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 223, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3980:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 238, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 237, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 227, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 225, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 462, + "src" : "4004:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 226, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 172, + "src" : "4011:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4004:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "&&", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 236, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 230, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 172, + "src" : "4033:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 228, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 462, + "src" : "4025:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 229, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 126, + "src" : "4025:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 231, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4025:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 234, + "name" : "intervalDuration", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 176, + "src" : "4067:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 232, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "4047:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 233, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "mul", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 88, + "src" : "4047:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 235, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4047:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4025:59:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "4004:80:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "3980:104:0" + }, + { + "assignments" : [ 240 ], + "declarations" : [ + { + "constant" : false, + "id" : 240, + "name" : "_validInterval", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "4090:19:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 239, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "4090:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 244, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 243, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 241, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "4112:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 242, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "4130:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4112:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "4090:52:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 249, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 246, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "4152:17:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 245, + "name" : "_correctInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 224, + "src" : "4153:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "id" : 248, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "4173:15:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 247, + "name" : "_validInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 240, + "src" : "4174:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "4152:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 252, + "nodeType" : "IfStatement", + "src" : "4148:60:0", + "trueBody" : { + "expression" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 250, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "4203:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "functionReturnParameters" : 222, + "id" : 251, + "nodeType" : "Return", + "src" : "4196:12:0" + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 258, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 253, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "4251:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "31", + "id" : 256, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "4289:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_1_by_1", + "typeString" : "int_const 1" + }, + "value" : "1" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_1_by_1", + "typeString" : "int_const 1" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 254, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "4269:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 255, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 150, + "src" : "4269:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 257, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4269:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4251:40:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 259, + "nodeType" : "ExpressionStatement", + "src" : "4251:40:0" + }, + { + "assignments" : [ 261 ], + "declarations" : [ + { + "constant" : false, + "id" : 261, + "name" : "_allocationsIndex", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "4350:22:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 260, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "4350:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 264, + "initialValue" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 262, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "4375:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 263, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "length", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "4375:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "4350:43:0" + }, + { + "body" : { + "id" : 308, + "nodeType" : "Block", + "src" : "4485:582:0", + "statements" : [ + { + "assignments" : [], + "declarations" : [ + { + "constant" : false, + "id" : 276, + "name" : "_amountToReward", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "4553:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 275, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4553:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 277, + "initialValue" : null, + "nodeType" : "VariableDeclarationStatement", + "src" : "4553:23:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 280, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 278, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "4680:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 279, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "4699:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4680:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 299, + "nodeType" : "Block", + "src" : "4788:179:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 297, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 289, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 276, + "src" : "4896:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 295, + "name" : "numIntervals", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 178, + "src" : "4945:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 290, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "4914:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 292, + "indexExpression" : { + "argumentTypes" : null, + "id" : 291, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 266, + "src" : "4926:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4914:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 293, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "allocation", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 160, + "src" : "4914:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 294, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "div", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 106, + "src" : "4914:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 296, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4914:44:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4896:62:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 298, + "nodeType" : "ExpressionStatement", + "src" : "4896:62:0" + } + ] + }, + "id" : 300, + "nodeType" : "IfStatement", + "src" : "4676:291:0", + "trueBody" : { + "id" : 288, + "nodeType" : "Block", + "src" : "4713:69:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 286, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 281, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 276, + "src" : "4723:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 282, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "4741:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 284, + "indexExpression" : { + "argumentTypes" : null, + "id" : 283, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 266, + "src" : "4753:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4741:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 285, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 162, + "src" : "4741:32:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4723:50:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 287, + "nodeType" : "ExpressionStatement", + "src" : "4723:50:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 306, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 301, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5013:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 303, + "indexExpression" : { + "argumentTypes" : null, + "id" : 302, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 266, + "src" : "5025:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5013:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 304, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 166, + "src" : "5013:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 305, + "name" : "_amountToReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 276, + "src" : "5045:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5013:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 307, + "nodeType" : "ExpressionStatement", + "src" : "5013:47:0" + } + ] + }, + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 271, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 269, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 266, + "src" : "4455:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 270, + "name" : "_allocationsIndex", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 261, + "src" : "4460:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4455:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 309, + "initializationExpression" : { + "assignments" : [ 266 ], + "declarations" : [ + { + "constant" : false, + "id" : 266, + "name" : "_i", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "4442:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 265, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "4442:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 268, + "initialValue" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 267, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "4452:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "4442:11:0" + }, + "loopExpression" : { + "expression" : { + "argumentTypes" : null, + "id" : 273, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "++", + "prefix" : false, + "src" : "4479:4:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 272, + "name" : "_i", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 266, + "src" : "4479:2:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 274, + "nodeType" : "ExpressionStatement", + "src" : "4479:4:0" + }, + "nodeType" : "ForStatement", + "src" : "4437:630:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 310, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "5080:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 222, + "id" : 311, + "nodeType" : "Return", + "src" : "5073:11:0" + } + ] + }, + "id" : 313, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 219, + "modifierName" : { + "argumentTypes" : null, + "id" : 218, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "3877:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "3877:9:0" + } + ], + "name" : "processInterval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 217, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "3874:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 222, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 221, + "name" : "_shouldProcessRewards", + "nodeType" : "VariableDeclaration", + "scope" : 313, + "src" : "3903:26:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 220, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3903:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3902:28:0" + }, + "scope" : 448, + "src" : "3850:1239:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 321, + "nodeType" : "Block", + "src" : "5187:36:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 318, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5200:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 319, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "length", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "5200:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 317, + "id" : 320, + "nodeType" : "Return", + "src" : "5193:25:0" + } + ] + }, + "id" : 322, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "numAllocations", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 314, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "5153:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 317, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 316, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 322, + "src" : "5181:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 315, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "5181:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5180:6:0" + }, + "scope" : 448, + "src" : "5130:93:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 334, + "nodeType" : "Block", + "src" : "5354:48:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 329, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5367:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 331, + "indexExpression" : { + "argumentTypes" : null, + "id" : 330, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 324, + "src" : "5379:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5367:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 332, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "allocation", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 160, + "src" : "5367:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 328, + "id" : 333, + "nodeType" : "Return", + "src" : "5360:37:0" + } + ] + }, + "id" : 335, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allocationAmount", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 325, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 324, + "name" : "_index", + "nodeType" : "VariableDeclaration", + "scope" : 335, + "src" : "5307:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 323, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "5307:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5306:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 328, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 327, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 335, + "src" : "5345:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 326, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5345:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5344:9:0" + }, + "scope" : 448, + "src" : "5281:121:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 413, + "nodeType" : "Block", + "src" : "5566:804:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 353, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 348, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5653:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 350, + "indexExpression" : { + "argumentTypes" : null, + "id" : 349, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "5665:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5653:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 351, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentInterval", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 164, + "src" : "5653:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 352, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "5691:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5653:53:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 397, + "nodeType" : "Block", + "src" : "6179:58:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 395, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 393, + "name" : "_shouldReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 342, + "src" : "6209:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 394, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6225:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "src" : "6209:21:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 396, + "nodeType" : "ExpressionStatement", + "src" : "6209:21:0" + } + ] + }, + "id" : 398, + "nodeType" : "IfStatement", + "src" : "5649:588:0", + "trueBody" : { + "id" : 392, + "nodeType" : "Block", + "src" : "5708:465:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 359, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 354, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5781:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 356, + "indexExpression" : { + "argumentTypes" : null, + "id" : 355, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "5793:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5781:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 357, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "currentInterval", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 164, + "src" : "5781:35:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 358, + "name" : "currentInterval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 174, + "src" : "5819:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5781:53:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 360, + "nodeType" : "ExpressionStatement", + "src" : "5781:53:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 375, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 361, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5900:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 363, + "indexExpression" : { + "argumentTypes" : null, + "id" : 362, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "5912:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5900:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 364, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 162, + "src" : "5900:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 370, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5980:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 372, + "indexExpression" : { + "argumentTypes" : null, + "id" : 371, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "5992:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5980:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 373, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 166, + "src" : "5980:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 365, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "5939:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 367, + "indexExpression" : { + "argumentTypes" : null, + "id" : 366, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "5951:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5939:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 368, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "remainingBalance", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 162, + "src" : "5939:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 369, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 126, + "src" : "5939:40:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 374, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "5939:75:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5900:114:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 376, + "nodeType" : "ExpressionStatement", + "src" : "5900:114:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 378, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "6049:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 380, + "indexExpression" : { + "argumentTypes" : null, + "id" : 379, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "6061:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6049:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 381, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "beneficiary", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 158, + "src" : "6049:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 382, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "6082:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 384, + "indexExpression" : { + "argumentTypes" : null, + "id" : 383, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "6094:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6082:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 385, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 166, + "src" : "6082:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 377, + "name" : "Unlock", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 190, + "src" : "6042:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 386, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6042:74:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 387, + "nodeType" : "ExpressionStatement", + "src" : "6042:74:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 390, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 388, + "name" : "_shouldReward", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 342, + "src" : "6146:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 389, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6162:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "6146:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 391, + "nodeType" : "ExpressionStatement", + "src" : "6146:20:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 404, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 399, + "name" : "_rewardAmount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 346, + "src" : "6264:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 400, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "6280:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 402, + "indexExpression" : { + "argumentTypes" : null, + "id" : 401, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "6292:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6280:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 403, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "currentReward", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 166, + "src" : "6280:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6264:49:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 405, + "nodeType" : "ExpressionStatement", + "src" : "6264:49:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 411, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 406, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 344, + "src" : "6319:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 407, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "6334:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 409, + "indexExpression" : { + "argumentTypes" : null, + "id" : 408, + "name" : "_index", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 337, + "src" : "6346:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6334:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_storage", + "typeString" : "struct BRDLockup.Allocation storage ref" + } + }, + "id" : 410, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "beneficiary", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 158, + "src" : "6334:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "6319:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 412, + "nodeType" : "ExpressionStatement", + "src" : "6319:46:0" + } + ] + }, + "id" : 414, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 340, + "modifierName" : { + "argumentTypes" : null, + "id" : 339, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "5475:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "5475:9:0" + } + ], + "name" : "unlock", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 338, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 337, + "name" : "_index", + "nodeType" : "VariableDeclaration", + "scope" : 414, + "src" : "5462:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 336, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "5462:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5461:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 347, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 342, + "name" : "_shouldReward", + "nodeType" : "VariableDeclaration", + "scope" : 414, + "src" : "5501:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 341, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "5501:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 344, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 414, + "src" : "5521:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 343, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "5521:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 346, + "name" : "_rewardAmount", + "nodeType" : "VariableDeclaration", + "scope" : 414, + "src" : "5543:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 345, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5543:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5500:65:0" + }, + "scope" : 448, + "src" : "5446:924:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 446, + "nodeType" : "Block", + "src" : "6497:210:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 426, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 424, + "name" : "now", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 462, + "src" : "6511:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<", + "rightExpression" : { + "argumentTypes" : null, + "id" : 425, + "name" : "unlockDate", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 172, + "src" : "6517:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6511:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 423, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 463, + "src" : "6503:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 427, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6503:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 428, + "nodeType" : "ExpressionStatement", + "src" : "6503:25:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 433, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 416, + "src" : "6578:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 434, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 418, + "src" : "6600:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "id" : 435, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 418, + "src" : "6620:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 436, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6640:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 437, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6651:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 432, + "name" : "Allocation", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 167, + "src" : "6558:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_struct$_Allocation_$167_storage_ptr_$", + "typeString" : "type(struct BRDLockup.Allocation storage pointer)" + } + }, + "id" : 438, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "structConstructorCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6558:102:0", + "typeDescriptions" : { + "typeIdentifier" : "t_struct$_Allocation_$167_memory", + "typeString" : "struct BRDLockup.Allocation memory" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_struct$_Allocation_$167_memory", + "typeString" : "struct BRDLockup.Allocation memory" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 429, + "name" : "allocations", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 170, + "src" : "6534:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_array$_t_struct$_Allocation_$167_storage_$dyn_storage", + "typeString" : "struct BRDLockup.Allocation storage ref[] storage ref" + } + }, + "id" : 431, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "push", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6534:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_arraypush_nonpayable$_t_struct$_Allocation_$167_storage_$returns$_t_uint256_$", + "typeString" : "function (struct BRDLockup.Allocation storage ref) returns (uint256)" + } + }, + "id" : 439, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6534:132:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 440, + "nodeType" : "ExpressionStatement", + "src" : "6534:132:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 442, + "name" : "_beneficiary", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 416, + "src" : "6677:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 443, + "name" : "_numTokens", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 418, + "src" : "6691:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 441, + "name" : "Lock", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 184, + "src" : "6672:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 444, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6672:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 445, + "nodeType" : "ExpressionStatement", + "src" : "6672:30:0" + } + ] + }, + "id" : 447, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 421, + "modifierName" : { + "argumentTypes" : null, + "id" : 420, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "6480:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "6480:9:0" + } + ], + "name" : "pushAllocation", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 419, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 416, + "name" : "_beneficiary", + "nodeType" : "VariableDeclaration", + "scope" : 447, + "src" : "6438:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 415, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "6438:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 418, + "name" : "_numTokens", + "nodeType" : "VariableDeclaration", + "scope" : 447, + "src" : "6460:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 417, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "6460:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6437:42:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 422, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "6497:0:0" + }, + "scope" : 448, + "src" : "6414:293:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 449, + "src" : "2444:4265:0" + } + ], + "src" : "0:6710:0" + } + } + }, + "version" : "0.4.18+commit.9cf6e910.Darwin.appleclang" +} + diff --git a/build/BRDToken.json b/build/BRDToken.json new file mode 100644 index 0000000..c173669 --- /dev/null +++ b/build/BRDToken.json @@ -0,0 +1,50647 @@ +{ + "contracts" : { + "build/flattened/BRDToken.sol:BRDToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MSTORE" + }, + { + "begin" : 7794, + "end" : 7799, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "EXP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MUL" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "NOT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "AND" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP4" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MUL" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "OR" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SSTORE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "B" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "427265616420546F6B656E000000000000000000000000000000000000000000" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "4252440000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8817, + "end" : 8819, + "name" : "PUSH", + "value" : "12" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SSTORE" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SLOAD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "AND" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ISZERO" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MUL" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SUB" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "AND" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DIV" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "KECCAK256" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DIV" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "LT" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MLOAD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "NOT" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "AND" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP4" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "OR" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP6" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP6" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ISZERO" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "GT" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ISZERO" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MLOAD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "GT" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ISZERO" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "ADD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "POP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "CODECOPY" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820000d120d48e0eb303924e2addcd00dddc3c8573dfaca90e639af5e3e48a971db0029", + ".code" : [ + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "MSTORE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "CALLDATASIZE" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "LT" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "SWAP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DIV" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "AND" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "6FDDE03" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "313CE567" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "95D89B41" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "EQ" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPI" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "JUMPDEST" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "DUP1" + }, + { + "begin" : 8651, + "end" : 9431, + "name" : "REVERT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "CALLVALUE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPI" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "REVERT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MSTORE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ADD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SUB" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "RETURN" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "CALLVALUE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ISZERO" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPI" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "REVERT" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SUB" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 23, + "end" : 24, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 33, + "end" : 36, + "name" : "DUP4" + }, + { + "begin" : 30, + "end" : 31, + "name" : "DUP2" + }, + { + "begin" : 27, + "end" : 29, + "name" : "LT" + }, + { + "begin" : 8, + "end" : 108, + "name" : "ISZERO" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPI" + }, + { + "begin" : 99, + "end" : 100, + "name" : "DUP1" + }, + { + "begin" : 94, + "end" : 97, + "name" : "DUP3" + }, + { + "begin" : 90, + "end" : 93, + "name" : "ADD" + }, + { + "begin" : 84, + "end" : 89, + "name" : "MLOAD" + }, + { + "begin" : 80, + "end" : 81, + "name" : "DUP2" + }, + { + "begin" : 75, + "end" : 78, + "name" : "DUP5" + }, + { + "begin" : 71, + "end" : 74, + "name" : "ADD" + }, + { + "begin" : 64, + "end" : 70, + "name" : "MSTORE" + }, + { + "begin" : 52, + "end" : 54, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 49, + "end" : 50, + "name" : "DUP2" + }, + { + "begin" : 45, + "end" : 48, + "name" : "ADD" + }, + { + "begin" : 40, + "end" : 55, + "name" : "SWAP1" + }, + { + "begin" : 40, + "end" : 55, + "name" : "POP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 12, + "end" : 26, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ISZERO" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPI" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP4" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3, + "end" : 112, + "name" : "EXP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "NOT" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MSTORE" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPDEST" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "RETURN" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLVALUE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPI" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "REVERT" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "AND" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MSTORE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SUB" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "RETURN" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "CALLVALUE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ISZERO" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPI" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "REVERT" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP3" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MSTORE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ADD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SUB" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "RETURN" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMPDEST" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "CALLVALUE" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ISZERO" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMPI" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "REVERT" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMPDEST" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "AND" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ADD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "AND" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ADD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ADD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMPDEST" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "MLOAD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP3" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ISZERO" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ISZERO" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ISZERO" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ISZERO" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "MSTORE" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "ADD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "MLOAD" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "DUP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP2" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SUB" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP1" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "RETURN" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMPDEST" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "CALLVALUE" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "ISZERO" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMPI" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP1" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "REVERT" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMPDEST" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMP" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMPDEST" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "MLOAD" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP1" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP3" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP2" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "MSTORE" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "ADD" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SWAP2" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "POP" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "POP" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "MLOAD" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP1" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SWAP2" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SUB" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SWAP1" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "RETURN" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLVALUE" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPI" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "REVERT" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "AND" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MLOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP3" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MSTORE" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MLOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SUB" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "RETURN" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLVALUE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPI" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "REVERT" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "AND" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MSTORE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SUB" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "RETURN" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLVALUE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ISZERO" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPI" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "REVERT" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "AND" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP3" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MSTORE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SUB" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "RETURN" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "CALLVALUE" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPI" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "REVERT" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MLOAD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP3" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MSTORE" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ADD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MLOAD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SUB" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "54" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "CALLVALUE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ISZERO" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPI" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "REVERT" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SUB" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 23, + "end" : 24, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 33, + "end" : 36, + "name" : "DUP4" + }, + { + "begin" : 30, + "end" : 31, + "name" : "DUP2" + }, + { + "begin" : 27, + "end" : 29, + "name" : "LT" + }, + { + "begin" : 8, + "end" : 108, + "name" : "ISZERO" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPI" + }, + { + "begin" : 99, + "end" : 100, + "name" : "DUP1" + }, + { + "begin" : 94, + "end" : 97, + "name" : "DUP3" + }, + { + "begin" : 90, + "end" : 93, + "name" : "ADD" + }, + { + "begin" : 84, + "end" : 89, + "name" : "MLOAD" + }, + { + "begin" : 80, + "end" : 81, + "name" : "DUP2" + }, + { + "begin" : 75, + "end" : 78, + "name" : "DUP5" + }, + { + "begin" : 71, + "end" : 74, + "name" : "ADD" + }, + { + "begin" : 64, + "end" : 70, + "name" : "MSTORE" + }, + { + "begin" : 52, + "end" : 54, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 49, + "end" : 50, + "name" : "DUP2" + }, + { + "begin" : 45, + "end" : 48, + "name" : "ADD" + }, + { + "begin" : 40, + "end" : 55, + "name" : "SWAP1" + }, + { + "begin" : 40, + "end" : 55, + "name" : "POP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMP" + }, + { + "begin" : 8, + "end" : 108, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 8, + "end" : 108, + "name" : "JUMPDEST" + }, + { + "begin" : 12, + "end" : 26, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ISZERO" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPI" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP4" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 3, + "end" : 112, + "name" : "EXP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "NOT" + }, + { + "begin" : 3, + "end" : 112, + "name" : "AND" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MSTORE" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3, + "end" : 112, + "name" : "ADD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 3, + "end" : 112, + "name" : "JUMPDEST" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP3" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "POP" + }, + { + "begin" : 3, + "end" : 112, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3, + "end" : 112, + "name" : "MLOAD" + }, + { + "begin" : 3, + "end" : 112, + "name" : "DUP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP2" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SUB" + }, + { + "begin" : 3, + "end" : 112, + "name" : "SWAP1" + }, + { + "begin" : 3, + "end" : 112, + "name" : "RETURN" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMPDEST" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "CALLVALUE" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ISZERO" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMPI" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "REVERT" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMPDEST" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "CALLDATALOAD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "AND" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ADD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "CALLDATALOAD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ADD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH [tag]", + "value" : "64" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMPDEST" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "MLOAD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP3" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ISZERO" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ISZERO" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ISZERO" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ISZERO" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "MSTORE" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "ADD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "MLOAD" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "DUP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SUB" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP1" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "RETURN" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLVALUE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPI" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "REVERT" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "66" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "AND" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "66" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MSTORE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SUB" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "RETURN" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLVALUE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ISZERO" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "68" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPI" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "REVERT" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "68" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MSTORE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SUB" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "71" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "71" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "EXP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DIV" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "AND" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "AND" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ISZERO" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MUL" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SUB" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "AND" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DIV" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DIV" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MUL" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "AND" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ISZERO" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MUL" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SUB" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "AND" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DIV" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ISZERO" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPI" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "LT" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "75" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPI" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DIV" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MUL" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "75" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "KECCAK256" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "76" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SLOAD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "MSTORE" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP4" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "GT" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH [tag]", + "value" : "76" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPI" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP1" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SUB" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "AND" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP3" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "ADD" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "SWAP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMPDEST" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "POP" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "DUP2" + }, + { + "begin" : 8721, + "end" : 8755, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5820, + "end" : 5824, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5864, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5839, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5840, + "end" : 5850, + "name" : "CALLER" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5852, + "end" : 5860, + "name" : "DUP6" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SSTORE" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "POP" + }, + { + "begin" : 5897, + "end" : 5905, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5885, + "end" : 5895, + "name" : "CALLER" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 5907, + "end" : 5913, + "name" : "DUP5" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MSTORE" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "ADD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SUB" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "LOG3" + }, + { + "begin" : 5927, + "end" : 5931, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "SWAP1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMPDEST" + }, + { + "begin" : 9027, + "end" : 9031, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "SWAP1" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "SLOAD" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "SWAP1" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "EXP" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "SWAP1" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "DIV" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 9047, + "end" : 9062, + "name" : "AND" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "DUP1" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "JUMPI" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "POP" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "SWAP1" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "SLOAD" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "SWAP1" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "EXP" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "SWAP1" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "DIV" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9080, + "end" : 9085, + "name" : "AND" + }, + { + "begin" : 9066, + "end" : 9085, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9066, + "end" : 9085, + "name" : "AND" + }, + { + "begin" : 9066, + "end" : 9076, + "name" : "CALLER" + }, + { + "begin" : 9066, + "end" : 9085, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9066, + "end" : 9085, + "name" : "AND" + }, + { + "begin" : 9066, + "end" : 9085, + "name" : "EQ" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 9047, + "end" : 9085, + "name" : "JUMPDEST" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "ISZERO" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "ISZERO" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "PUSH [tag]", + "value" : "80" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "JUMPI" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "DUP1" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "REVERT" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "tag", + "value" : "80" + }, + { + "begin" : 9039, + "end" : 9086, + "name" : "JUMPDEST" + }, + { + "begin" : 9099, + "end" : 9137, + "name" : "PUSH [tag]", + "value" : "81" + }, + { + "begin" : 9118, + "end" : 9123, + "name" : "DUP5" + }, + { + "begin" : 9125, + "end" : 9128, + "name" : "DUP5" + }, + { + "begin" : 9130, + "end" : 9136, + "name" : "DUP5" + }, + { + "begin" : 9099, + "end" : 9117, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 9099, + "end" : 9137, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 9099, + "end" : 9137, + "name" : "tag", + "value" : "81" + }, + { + "begin" : 9099, + "end" : 9137, + "name" : "JUMPDEST" + }, + { + "begin" : 9092, + "end" : 9137, + "name" : "SWAP1" + }, + { + "begin" : 9092, + "end" : 9137, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP4" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "SWAP3" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "POP" + }, + { + "begin" : 8945, + "end" : 9142, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMPDEST" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "PUSH", + "value" : "6" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "SLOAD" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "DUP2" + }, + { + "begin" : 8791, + "end" : 8819, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8181, + "end" : 8185, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SLOAD" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "EXP" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "DIV" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "AND" + }, + { + "begin" : 7838, + "end" : 7854, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH [tag]", + "value" : "86" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPI" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "DUP1" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "REVERT" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "tag", + "value" : "86" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPDEST" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "PUSH [tag]", + "value" : "88" + }, + { + "begin" : 8223, + "end" : 8230, + "name" : "DUP3" + }, + { + "begin" : 8207, + "end" : 8218, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8207, + "end" : 8218, + "name" : "SLOAD" + }, + { + "begin" : 8207, + "end" : 8222, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 8207, + "end" : 8222, + "name" : "SWAP1" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "SWAP2" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "SWAP1" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "AND" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "tag", + "value" : "88" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "JUMPDEST" + }, + { + "begin" : 8193, + "end" : 8204, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "DUP2" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "SWAP1" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "SSTORE" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "POP" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 8271, + "end" : 8278, + "name" : "DUP3" + }, + { + "begin" : 8253, + "end" : 8261, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8262, + "end" : 8265, + "name" : "DUP7" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "DUP2" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "MSTORE" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "ADD" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "DUP2" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "MSTORE" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "ADD" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "KECCAK256" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "SLOAD" + }, + { + "begin" : 8253, + "end" : 8270, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 8253, + "end" : 8270, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "SWAP2" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "JUMPDEST" + }, + { + "begin" : 8237, + "end" : 8245, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8246, + "end" : 8249, + "name" : "DUP6" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "AND" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "AND" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "MSTORE" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "ADD" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "SWAP1" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "MSTORE" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "ADD" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "KECCAK256" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "SWAP1" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "SSTORE" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "POP" + }, + { + "begin" : 8290, + "end" : 8293, + "name" : "DUP3" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "AND" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 8295, + "end" : 8302, + "name" : "DUP4" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MLOAD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP3" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MSTORE" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "ADD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "POP" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "POP" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MLOAD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SUB" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "LOG2" + }, + { + "begin" : 8330, + "end" : 8333, + "name" : "DUP3" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "AND" + }, + { + "begin" : 8326, + "end" : 8327, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "AND" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 8335, + "end" : 8342, + "name" : "DUP5" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MLOAD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP3" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MSTORE" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "ADD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "POP" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "POP" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MLOAD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SUB" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "LOG3" + }, + { + "begin" : 8356, + "end" : 8360, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8349, + "end" : 8360, + "name" : "SWAP1" + }, + { + "begin" : 8349, + "end" : 8360, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP3" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6965, + "end" : 6969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6977, + "end" : 6990, + "name" : "DUP1" + }, + { + "begin" : 6993, + "end" : 7000, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7001, + "end" : 7011, + "name" : "CALLER" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7013, + "end" : 7021, + "name" : "DUP6" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SLOAD" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "POP" + }, + { + "begin" : 7051, + "end" : 7059, + "name" : "DUP1" + }, + { + "begin" : 7032, + "end" : 7048, + "name" : "DUP4" + }, + { + "begin" : 7032, + "end" : 7059, + "name" : "GT" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "ISZERO" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPI" + }, + { + "begin" : 7101, + "end" : 7102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7076, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7077, + "end" : 7087, + "name" : "CALLER" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7089, + "end" : 7097, + "name" : "DUP7" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SSTORE" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "93" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 7168, + "end" : 7184, + "name" : "DUP4" + }, + { + "begin" : 7155, + "end" : 7163, + "name" : "DUP3" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP2" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "AND" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMPDEST" + }, + { + "begin" : 7123, + "end" : 7130, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7131, + "end" : 7141, + "name" : "CALLER" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7143, + "end" : 7151, + "name" : "DUP7" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SSTORE" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "93" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7218, + "end" : 7226, + "name" : "DUP4" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7206, + "end" : 7216, + "name" : "CALLER" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 7228, + "end" : 7235, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7236, + "end" : 7246, + "name" : "CALLER" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7248, + "end" : 7256, + "name" : "DUP9" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP3" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MSTORE" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "ADD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SUB" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "LOG3" + }, + { + "begin" : 7271, + "end" : 7275, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "SWAP2" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3414, + "end" : 3429, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3452, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3453, + "end" : 3459, + "name" : "DUP4" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "KECCAK256" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SLOAD" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8538, + "end" : 8542, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "98" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "98" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SLOAD" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "EXP" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "DIV" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "AND" + }, + { + "begin" : 7838, + "end" : 7854, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH [tag]", + "value" : "100" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPI" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "DUP1" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "REVERT" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "tag", + "value" : "100" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPDEST" + }, + { + "begin" : 8568, + "end" : 8572, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8550, + "end" : 8565, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8550, + "end" : 8565, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "EXP" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP2" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SLOAD" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP2" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "MUL" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "NOT" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "AND" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SWAP1" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP4" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "ISZERO" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "ISZERO" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "MUL" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "OR" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SWAP1" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SSTORE" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "POP" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "MLOAD" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "MLOAD" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "DUP1" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SWAP2" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SUB" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SWAP1" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "LOG1" + }, + { + "begin" : 8605, + "end" : 8609, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8598, + "end" : 8609, + "name" : "SWAP1" + }, + { + "begin" : 8598, + "end" : 8609, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "54" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "5" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "AND" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ISZERO" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MUL" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SUB" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "AND" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DIV" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DIV" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MUL" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "AND" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ISZERO" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MUL" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SUB" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "AND" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DIV" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ISZERO" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPI" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "LT" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "103" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPI" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DIV" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MUL" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "102" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "103" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "KECCAK256" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "104" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SLOAD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "MSTORE" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP4" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "GT" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH [tag]", + "value" : "104" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPI" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP1" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SUB" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "PUSH", + "value" : "1F" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "AND" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP3" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "ADD" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "SWAP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "tag", + "value" : "102" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMPDEST" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "POP" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "DUP2" + }, + { + "begin" : 8759, + "end" : 8787, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "tag", + "value" : "64" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMPDEST" + }, + { + "begin" : 9325, + "end" : 9329, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "SWAP1" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "SLOAD" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "SWAP1" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "EXP" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "SWAP1" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "DIV" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 9345, + "end" : 9360, + "name" : "AND" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "DUP1" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "PUSH [tag]", + "value" : "106" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "JUMPI" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "POP" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "SWAP1" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "SLOAD" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "SWAP1" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "EXP" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "SWAP1" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "DIV" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9378, + "end" : 9383, + "name" : "AND" + }, + { + "begin" : 9364, + "end" : 9383, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9364, + "end" : 9383, + "name" : "AND" + }, + { + "begin" : 9364, + "end" : 9374, + "name" : "CALLER" + }, + { + "begin" : 9364, + "end" : 9383, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 9364, + "end" : 9383, + "name" : "AND" + }, + { + "begin" : 9364, + "end" : 9383, + "name" : "EQ" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "tag", + "value" : "106" + }, + { + "begin" : 9345, + "end" : 9383, + "name" : "JUMPDEST" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "ISZERO" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "ISZERO" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "PUSH [tag]", + "value" : "107" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "JUMPI" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "DUP1" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "REVERT" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "tag", + "value" : "107" + }, + { + "begin" : 9337, + "end" : 9384, + "name" : "JUMPDEST" + }, + { + "begin" : 9397, + "end" : 9424, + "name" : "PUSH [tag]", + "value" : "108" + }, + { + "begin" : 9412, + "end" : 9415, + "name" : "DUP4" + }, + { + "begin" : 9417, + "end" : 9423, + "name" : "DUP4" + }, + { + "begin" : 9397, + "end" : 9411, + "name" : "PUSH [tag]", + "value" : "109" + }, + { + "begin" : 9397, + "end" : 9424, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 9397, + "end" : 9424, + "name" : "tag", + "value" : "108" + }, + { + "begin" : 9397, + "end" : 9424, + "name" : "JUMPDEST" + }, + { + "begin" : 9390, + "end" : 9424, + "name" : "SWAP1" + }, + { + "begin" : 9390, + "end" : 9424, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP3" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "SWAP2" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "POP" + }, + { + "begin" : 9262, + "end" : 9429, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6699, + "end" : 6703, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH [tag]", + "value" : "111" + }, + { + "begin" : 6777, + "end" : 6788, + "name" : "DUP3" + }, + { + "begin" : 6743, + "end" : 6750, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6751, + "end" : 6761, + "name" : "CALLER" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6763, + "end" : 6771, + "name" : "DUP7" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SLOAD" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP2" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "tag", + "value" : "111" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMPDEST" + }, + { + "begin" : 6711, + "end" : 6718, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6719, + "end" : 6729, + "name" : "CALLER" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6731, + "end" : 6739, + "name" : "DUP6" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SSTORE" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "POP" + }, + { + "begin" : 6816, + "end" : 6824, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6804, + "end" : 6814, + "name" : "CALLER" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 6826, + "end" : 6833, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6834, + "end" : 6844, + "name" : "CALLER" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6846, + "end" : 6854, + "name" : "DUP8" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MSTORE" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "ADD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SUB" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "LOG3" + }, + { + "begin" : 6869, + "end" : 6873, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "SWAP1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6329, + "end" : 6336, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6358, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6359, + "end" : 6365, + "name" : "DUP5" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6367, + "end" : 6375, + "name" : "DUP4" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SLOAD" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "114" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "114" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "116" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "116" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4773, + "end" : 4777, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4808, + "end" : 4809, + "name" : "DUP1" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4796, + "name" : "DUP4" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "EQ" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH [tag]", + "value" : "118" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPI" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "DUP1" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "REVERT" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "tag", + "value" : "118" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPDEST" + }, + { + "begin" : 4835, + "end" : 4843, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4844, + "end" : 4849, + "name" : "DUP6" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SWAP1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "KECCAK256" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SLOAD" + }, + { + "begin" : 4825, + "end" : 4831, + "name" : "DUP3" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "GT" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH [tag]", + "value" : "119" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPI" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "DUP1" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "REVERT" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "tag", + "value" : "119" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPDEST" + }, + { + "begin" : 4875, + "end" : 4882, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4883, + "end" : 4888, + "name" : "DUP6" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4890, + "end" : 4900, + "name" : "CALLER" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SLOAD" + }, + { + "begin" : 4865, + "end" : 4871, + "name" : "DUP3" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "GT" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH [tag]", + "value" : "120" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPI" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "DUP1" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "REVERT" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "tag", + "value" : "120" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPDEST" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH [tag]", + "value" : "121" + }, + { + "begin" : 4947, + "end" : 4953, + "name" : "DUP3" + }, + { + "begin" : 4927, + "end" : 4935, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4936, + "end" : 4941, + "name" : "DUP8" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "KECCAK256" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SLOAD" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP2" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "tag", + "value" : "121" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMPDEST" + }, + { + "begin" : 4909, + "end" : 4917, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4918, + "end" : 4923, + "name" : "DUP7" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "KECCAK256" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SSTORE" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "POP" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH [tag]", + "value" : "122" + }, + { + "begin" : 4994, + "end" : 5000, + "name" : "DUP3" + }, + { + "begin" : 4976, + "end" : 4984, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4985, + "end" : 4988, + "name" : "DUP7" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "KECCAK256" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SLOAD" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP2" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "tag", + "value" : "122" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMPDEST" + }, + { + "begin" : 4960, + "end" : 4968, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4969, + "end" : 4972, + "name" : "DUP6" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "KECCAK256" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SSTORE" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "POP" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH [tag]", + "value" : "123" + }, + { + "begin" : 5067, + "end" : 5073, + "name" : "DUP3" + }, + { + "begin" : 5036, + "end" : 5043, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5044, + "end" : 5049, + "name" : "DUP8" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5051, + "end" : 5061, + "name" : "CALLER" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SLOAD" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP2" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "tag", + "value" : "123" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMPDEST" + }, + { + "begin" : 5007, + "end" : 5014, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5015, + "end" : 5020, + "name" : "DUP7" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5022, + "end" : 5032, + "name" : "CALLER" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SSTORE" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "POP" + }, + { + "begin" : 5096, + "end" : 5099, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5089, + "end" : 5094, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 5101, + "end" : 5107, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MSTORE" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "ADD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SUB" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "LOG3" + }, + { + "begin" : 5121, + "end" : 5125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "SWAP1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP3" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "tag", + "value" : "89" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMPDEST" + }, + { + "begin" : 2295, + "end" : 2302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2310, + "end" : 2319, + "name" : "DUP1" + }, + { + "begin" : 2326, + "end" : 2327, + "name" : "DUP3" + }, + { + "begin" : 2322, + "end" : 2323, + "name" : "DUP5" + }, + { + "begin" : 2322, + "end" : 2327, + "name" : "ADD" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "SWAP1" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "POP" + }, + { + "begin" : 2345, + "end" : 2346, + "name" : "DUP4" + }, + { + "begin" : 2340, + "end" : 2341, + "name" : "DUP2" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "LT" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "PUSH [tag]", + "value" : "125" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPI" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "INVALID" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "tag", + "value" : "125" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPDEST" + }, + { + "begin" : 2360, + "end" : 2361, + "name" : "DUP1" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "SWAP2" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP3" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP2" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "tag", + "value" : "95" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMPDEST" + }, + { + "begin" : 2181, + "end" : 2188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2208, + "end" : 2209, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2204, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "GT" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "PUSH [tag]", + "value" : "127" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPI" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "INVALID" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "tag", + "value" : "127" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPDEST" + }, + { + "begin" : 2227, + "end" : 2228, + "name" : "DUP2" + }, + { + "begin" : 2223, + "end" : 2224, + "name" : "DUP4" + }, + { + "begin" : 2223, + "end" : 2228, + "name" : "SUB" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "SWAP1" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP3" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP2" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "109" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2840, + "end" : 2844, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2875, + "end" : 2876, + "name" : "DUP1" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2863, + "name" : "DUP4" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "EQ" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH [tag]", + "value" : "129" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPI" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "DUP1" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "REVERT" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "tag", + "value" : "129" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPDEST" + }, + { + "begin" : 2902, + "end" : 2910, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2911, + "end" : 2921, + "name" : "CALLER" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SWAP1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "KECCAK256" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SLOAD" + }, + { + "begin" : 2892, + "end" : 2898, + "name" : "DUP3" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "GT" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH [tag]", + "value" : "130" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPI" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "DUP1" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "REVERT" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "tag", + "value" : "130" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPDEST" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH [tag]", + "value" : "131" + }, + { + "begin" : 3041, + "end" : 3047, + "name" : "DUP3" + }, + { + "begin" : 3016, + "end" : 3024, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3025, + "end" : 3035, + "name" : "CALLER" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "KECCAK256" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SLOAD" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "PUSH [tag]", + "value" : "95" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP2" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "tag", + "value" : "131" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMPDEST" + }, + { + "begin" : 2993, + "end" : 3001, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3002, + "end" : 3012, + "name" : "CALLER" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "KECCAK256" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SSTORE" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "POP" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH [tag]", + "value" : "132" + }, + { + "begin" : 3088, + "end" : 3094, + "name" : "DUP3" + }, + { + "begin" : 3070, + "end" : 3078, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3079, + "end" : 3082, + "name" : "DUP7" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "KECCAK256" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SLOAD" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "PUSH [tag]", + "value" : "89" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP2" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "tag", + "value" : "132" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMPDEST" + }, + { + "begin" : 3054, + "end" : 3062, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3066, + "name" : "DUP6" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "KECCAK256" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SSTORE" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "POP" + }, + { + "begin" : 3122, + "end" : 3125, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3110, + "end" : 3120, + "name" : "CALLER" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 3127, + "end" : 3133, + "name" : "DUP5" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MSTORE" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "ADD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SUB" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "LOG3" + }, + { + "begin" : 3147, + "end" : 3151, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "SWAP1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "60606040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600b81526020017f427265616420546f6b656e000000000000000000000000000000000000000000815250600490805190602001906200006c92919062000107565b506040805190810160405280600381526020017f425244000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000ba92919062000107565b50601260065533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014a57805160ff19168380011785556200017b565b828001600101855582156200017b579182015b828111156200017a5782518255916020019190600101906200015d565b5b5090506200018a91906200018e565b5090565b620001b391905b80821115620001af57600081600090555060010162000195565b5090565b90565b61196380620001c66000396000f3006060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820000d120d48e0eb303924e2addcd00dddc3c8573dfaca90e639af5e3e48a971db0029", + "bin-runtime" : "6060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820000d120d48e0eb303924e2addcd00dddc3c8573dfaca90e639af5e3e48a971db0029", + "clone-bin" : "60606040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600b81526020017f427265616420546f6b656e0000000000000000000000000000000000000000008152506004908051906020019061006a92919061010a565b506040805190810160405280600381526020017f4252440000000000000000000000000000000000000000000000000000000000815250600590805190602001906100b692919061010a565b50601260065533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506033806101b06000396000f35b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014b57805160ff1916838001178555610179565b82800160010185558215610179579182015b8281111561017857825182559160200191906001019061015d565b5b509050610186919061018a565b5090565b6101ac91905b808211156101a8576000816000905550600101610190565b5090565b90560036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decimals()" : "313ce567", + "decreaseApproval(address,uint256)" : "66188463", + "finishMinting()" : "7d64bcb4", + "increaseApproval(address,uint256)" : "d73dd623", + "mint(address,uint256)" : "40c10f19", + "mintingFinished()" : "05d2035b", + "name()" : "06fdde03", + "owner()" : "8da5cb5b", + "symbol()" : "95d89b41", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"BRDToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x427265616420546F6B656E000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x6C SWAP3 SWAP2 SWAP1 PUSH3 0x107 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4252440000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0xBA SWAP3 SWAP2 SWAP1 PUSH3 0x107 JUMP JUMPDEST POP PUSH1 0x12 PUSH1 0x6 SSTORE CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x1B6 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x14A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x17B JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x17B JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x17A JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x15D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x18A SWAP2 SWAP1 PUSH3 0x18E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x1B3 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1AF JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x195 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x1963 DUP1 PUSH3 0x1C6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE6 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xEB JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2A2 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2CB JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x4DC JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x536 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x590 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5FC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFE PUSH2 0x635 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12B PUSH2 0x648 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x16B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x150 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x198 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x6E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x20B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x213 PUSH2 0x7D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x288 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x7DE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5 PUSH2 0x867 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x30B PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x86D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x365 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xA55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xCE6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DF PUSH2 0xD2F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x404 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x40C PUSH2 0xDF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x461 PUSH2 0xE1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4A1 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x486 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x4CE JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xEBB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x541 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x576 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5E6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x113E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x607 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x633 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x11C5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x6DE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6B3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6DE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6C1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x848 JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST ISZERO ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x85E DUP5 DUP5 DUP5 PUSH2 0x131D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x8CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0x8E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8FC DUP3 PUSH1 0x0 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0x954 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xB66 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xBFA JUMP JUMPDEST PUSH2 0xB79 DUP4 DUP3 PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xD8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xDA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0xEB3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE88 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xEB3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE96 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF25 JUMPI POP PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ JUMPDEST ISZERO ISZERO PUSH2 0xF30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF3A DUP4 DUP4 PUSH2 0x1713 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFD3 DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x125D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x135A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x13A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1433 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1485 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x151A DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x15EC DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x16F0 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1708 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x179E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17F0 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16FA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1885 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x16DC SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 STOP 0xd SLT 0xd 0x48 0xe0 0xeb ADDRESS CODECOPY 0x24 0xe2 0xad 0xdc 0xd0 0xd 0xdd 0xc3 0xc8 JUMPI RETURNDATASIZE STATICCALL 0xca SWAP1 0xe6 CODECOPY 0xaf 0x5e RETURNDATACOPY 0x48 0xa9 PUSH18 0xDB0029000000000000000000000000000000 ", + "srcmap" : "8651:780:0:-;;;7794:5;7764:35;;;;;;;;;;;;;;;;;;;;8721:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8759:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8817:2;8791:28;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;8651:780;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "srcmap-runtime" : "8651:780:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7764:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8721:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5753:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8945:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8791:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8103:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6882:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8479:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8759:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9262:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6621:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6255:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;7764:35;;;;;;;;;;;;;:::o;8721:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5753:183::-;5820:4;5864:6;5832:7;:19;5840:10;5832:19;;;;;;;;;;;;;;;:29;5852:8;5832:29;;;;;;;;;;;;;;;:38;;;;5897:8;5876:38;;5885:10;5876:38;;;5907:6;5876:38;;;;;;;;;;;;;;;;;;5927:4;5920:11;;5753:183;;;;:::o;1270:26::-;;;;:::o;8945:197::-;9027:4;9047:15;;;;;;;;;;;:38;;;;9080:5;;;;;;;;;;;9066:19;;:10;:19;;;9047:38;9039:47;;;;;;;;9099:38;9118:5;9125:3;9130:6;9099:18;:38::i;:::-;9092:45;;8945:197;;;;;:::o;8791:28::-;;;;:::o;8103:262::-;8181:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;7839:15;;;;;;;;;;;7838:16;7830:25;;;;;;;;8207:24;8223:7;8207:11;;:15;;:24;;;;:::i;:::-;8193:11;:38;;;;8253:26;8271:7;8253:8;:13;8262:3;8253:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8237:8;:13;8246:3;8237:13;;;;;;;;;;;;;;;:42;;;;8290:3;8285:18;;;8295:7;8285:18;;;;;;;;;;;;;;;;;;8330:3;8309:34;;8326:1;8309:34;;;8335:7;8309:34;;;;;;;;;;;;;;;;;;8356:4;8349:11;;8103:262;;;;:::o;6882:398::-;6965:4;6977:13;6993:7;:19;7001:10;6993:19;;;;;;;;;;;;;;;:29;7013:8;6993:29;;;;;;;;;;;;;;;;6977:45;;7051:8;7032:16;:27;7028:164;;;7101:1;7069:7;:19;7077:10;7069:19;;;;;;;;;;;;;;;:29;7089:8;7069:29;;;;;;;;;;;;;;;:33;;;;7028:164;;;7155:30;7168:16;7155:8;:12;;:30;;;;:::i;:::-;7123:7;:19;7131:10;7123:19;;;;;;;;;;;;;;;:29;7143:8;7123:29;;;;;;;;;;;;;;;:62;;;;7028:164;7218:8;7197:61;;7206:10;7197:61;;;7228:7;:19;7236:10;7228:19;;;;;;;;;;;;;;;:29;7248:8;7228:29;;;;;;;;;;;;;;;;7197:61;;;;;;;;;;;;;;;;;;7271:4;7264:11;;6882:398;;;;;:::o;3358:107::-;3414:15;3444:8;:16;3453:6;3444:16;;;;;;;;;;;;;;;;3437:23;;3358:107;;;:::o;8479:135::-;8538:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;7839:15;;;;;;;;;;;7838:16;7830:25;;;;;;;;8568:4;8550:15;;:22;;;;;;;;;;;;;;;;;;8578:14;;;;;;;;;;8605:4;8598:11;;8479:135;:::o;291:20::-;;;;;;;;;;;;;:::o;8759:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9262:167::-;9325:4;9345:15;;;;;;;;;;;:38;;;;9378:5;;;;;;;;;;;9364:19;;:10;:19;;;9345:38;9337:47;;;;;;;;9397:27;9412:3;9417:6;9397:14;:27::i;:::-;9390:34;;9262:167;;;;:::o;6621:257::-;6699:4;6743:46;6777:11;6743:7;:19;6751:10;6743:19;;;;;;;;;;;;;;;:29;6763:8;6743:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6711:7;:19;6719:10;6711:19;;;;;;;;;;;;;;;:29;6731:8;6711:29;;;;;;;;;;;;;;;:78;;;;6816:8;6795:61;;6804:10;6795:61;;;6826:7;:19;6834:10;6826:19;;;;;;;;;;;;;;;:29;6846:8;6826:29;;;;;;;;;;;;;;;;6795:61;;;;;;;;;;;;;;;;;;6869:4;6862:11;;6621:257;;;;:::o;6255:126::-;6329:7;6351;:15;6359:6;6351:15;;;;;;;;;;;;;;;:25;6367:8;6351:25;;;;;;;;;;;;;;;;6344:32;;6255:126;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;4691:439::-;4773:4;4808:1;4793:17;;:3;:17;;;;4785:26;;;;;;;;4835:8;:15;4844:5;4835:15;;;;;;;;;;;;;;;;4825:6;:25;;4817:34;;;;;;;;4875:7;:14;4883:5;4875:14;;;;;;;;;;;;;;;:26;4890:10;4875:26;;;;;;;;;;;;;;;;4865:6;:36;;4857:45;;;;;;;;4927:27;4947:6;4927:8;:15;4936:5;4927:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4909:8;:15;4918:5;4909:15;;;;;;;;;;;;;;;:45;;;;4976:25;4994:6;4976:8;:13;4985:3;4976:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4960:8;:13;4969:3;4960:13;;;;;;;;;;;;;;;:41;;;;5036:38;5067:6;5036:7;:14;5044:5;5036:14;;;;;;;;;;;;;;;:26;5051:10;5036:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5007:7;:14;5015:5;5007:14;;;;;;;;;;;;;;;:26;5022:10;5007:26;;;;;;;;;;;;;;;:67;;;;5096:3;5080:28;;5089:5;5080:28;;;5101:6;5080:28;;;;;;;;;;;;;;;;;;5121:4;5114:11;;4691:439;;;;;:::o;2237:129::-;2295:7;2310:9;2326:1;2322;:5;2310:17;;2345:1;2340;:6;;2333:14;;;;;;2360:1;2353:8;;2237:129;;;;;:::o;2123:110::-;2181:7;2208:1;2203;:6;;2196:14;;;;;;2227:1;2223;:5;2216:12;;2123:110;;;;:::o;2777:379::-;2840:4;2875:1;2860:17;;:3;:17;;;;2852:26;;;;;;;;2902:8;:20;2911:10;2902:20;;;;;;;;;;;;;;;;2892:6;:30;;2884:39;;;;;;;;3016:32;3041:6;3016:8;:20;3025:10;3016:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2993:8;:20;3002:10;2993:20;;;;;;;;;;;;;;;:55;;;;3070:25;3088:6;3070:8;:13;3079:3;3070:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3054:8;:13;3063:3;3054:13;;;;;;;;;;;;;;;:41;;;;3122:3;3101:33;;3110:10;3101:33;;;3127:6;3101:33;;;;;;;;;;;;;;;;;;3147:4;3140:11;;2777:379;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + }, + "build/flattened/BRDToken.sol:BasicToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "MSTORE" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "CALLVALUE" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "ISZERO" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPI" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "REVERT" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPDEST" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "CODECOPY" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a7230582077bd07f25c486052585ede9d21eed6bd0d193435e9f83de4400e494dcdab426d0029", + ".code" : [ + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "MSTORE" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "CALLDATASIZE" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "LT" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPI" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "SWAP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DIV" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "AND" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "EQ" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPI" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "EQ" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPI" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "EQ" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPI" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "JUMPDEST" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "DUP1" + }, + { + "begin" : 2517, + "end" : 3468, + "name" : "REVERT" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "CALLVALUE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ISZERO" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPI" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "REVERT" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP3" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MSTORE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ADD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SUB" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "RETURN" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLVALUE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ISZERO" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPI" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "REVERT" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "AND" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP3" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MSTORE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SUB" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "RETURN" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLVALUE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPI" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "REVERT" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "AND" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MSTORE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SUB" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "RETURN" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3414, + "end" : 3429, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3452, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3453, + "end" : 3459, + "name" : "DUP4" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "KECCAK256" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SLOAD" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2840, + "end" : 2844, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2875, + "end" : 2876, + "name" : "DUP1" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2863, + "name" : "DUP4" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "EQ" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPI" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "DUP1" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "REVERT" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPDEST" + }, + { + "begin" : 2902, + "end" : 2910, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2911, + "end" : 2921, + "name" : "CALLER" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SWAP1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "KECCAK256" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SLOAD" + }, + { + "begin" : 2892, + "end" : 2898, + "name" : "DUP3" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "GT" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPI" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "DUP1" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "REVERT" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPDEST" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 3041, + "end" : 3047, + "name" : "DUP3" + }, + { + "begin" : 3016, + "end" : 3024, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3025, + "end" : 3035, + "name" : "CALLER" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "KECCAK256" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SLOAD" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP2" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMPDEST" + }, + { + "begin" : 2993, + "end" : 3001, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3002, + "end" : 3012, + "name" : "CALLER" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "KECCAK256" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SSTORE" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "POP" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 3088, + "end" : 3094, + "name" : "DUP3" + }, + { + "begin" : 3070, + "end" : 3078, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3079, + "end" : 3082, + "name" : "DUP7" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "KECCAK256" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SLOAD" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP2" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMPDEST" + }, + { + "begin" : 3054, + "end" : 3062, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3066, + "name" : "DUP6" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "KECCAK256" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SSTORE" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "POP" + }, + { + "begin" : 3122, + "end" : 3125, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3110, + "end" : 3120, + "name" : "CALLER" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 3127, + "end" : 3133, + "name" : "DUP5" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MSTORE" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "ADD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SUB" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "LOG3" + }, + { + "begin" : 3147, + "end" : 3151, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "SWAP1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMPDEST" + }, + { + "begin" : 2181, + "end" : 2188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2208, + "end" : 2209, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2204, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "GT" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPI" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "INVALID" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPDEST" + }, + { + "begin" : 2227, + "end" : 2228, + "name" : "DUP2" + }, + { + "begin" : 2223, + "end" : 2224, + "name" : "DUP4" + }, + { + "begin" : 2223, + "end" : 2228, + "name" : "SUB" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "SWAP1" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP3" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP2" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMPDEST" + }, + { + "begin" : 2295, + "end" : 2302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2310, + "end" : 2319, + "name" : "DUP1" + }, + { + "begin" : 2326, + "end" : 2327, + "name" : "DUP3" + }, + { + "begin" : 2322, + "end" : 2323, + "name" : "DUP5" + }, + { + "begin" : 2322, + "end" : 2327, + "name" : "ADD" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "SWAP1" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "POP" + }, + { + "begin" : 2345, + "end" : 2346, + "name" : "DUP4" + }, + { + "begin" : 2340, + "end" : 2341, + "name" : "DUP2" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "LT" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPI" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "INVALID" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPDEST" + }, + { + "begin" : 2360, + "end" : 2361, + "name" : "DUP1" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "SWAP2" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP3" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP2" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b6104028061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a7230582077bd07f25c486052585ede9d21eed6bd0d193435e9f83de4400e494dcdab426d0029", + "bin-runtime" : "606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a7230582077bd07f25c486052585ede9d21eed6bd0d193435e9f83de4400e494dcdab426d0029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}}},\"title\":\"Basic token\"}", + "hashes" : { + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}}},\"title\":\"Basic token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"BasicToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x402 DUP1 PUSH2 0x1E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x18160DDD EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xD2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x17B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x258 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x39F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x2ED DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3B8 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x3AD JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3CC JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH24 0xBD07F25C486052585EDE9D21EED6BD0D193435E9F83DE440 0xe 0x49 0x4d 0xcd 0xab TIMESTAMP PUSH14 0x29000000000000000000000000 ", + "srcmap" : "2517:951:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "2517:951:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2777:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:26;;;;:::o;3358:107::-;3414:15;3444:8;:16;3453:6;3444:16;;;;;;;;;;;;;;;;3437:23;;3358:107;;;:::o;2777:379::-;2840:4;2875:1;2860:17;;:3;:17;;;;2852:26;;;;;;;;2902:8;:20;2911:10;2902:20;;;;;;;;;;;;;;;;2892:6;:30;;2884:39;;;;;;;;3016:32;3041:6;3016:8;:20;3025:10;3016:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2993:8;:20;3002:10;2993:20;;;;;;;;;;;;;;;:55;;;;3070:25;3088:6;3070:8;:13;3079:3;3070:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3054:8;:13;3063:3;3054:13;;;;;;;;;;;;;;;:41;;;;3122:3;3101:33;;3110:10;3101:33;;;3127:6;3101:33;;;;;;;;;;;;;;;;;;3147:4;3140:11;;2777:379;;;;:::o;2123:110::-;2181:7;2208:1;2203;:6;;2196:14;;;;;;2227:1;2223;:5;2216:12;;2123:110;;;;:::o;2237:129::-;2295:7;2310:9;2326:1;2322;:5;2310:17;;2345:1;2340;:6;;2333:14;;;;;;2360:1;2353:8;;2237:129;;;;;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDToken.sol:ERC20" : { + "abi" : "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : null, + "bin" : "", + "bin-runtime" : "", + "clone-bin" : "", + "devdoc" : "{\"methods\":{},\"title\":\"ERC20 interface\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd" + }, + "metadata" : "", + "opcodes" : "", + "srcmap" : "", + "srcmap-runtime" : "", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDToken.sol:ERC20Basic" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : null, + "bin" : "", + "bin-runtime" : "", + "clone-bin" : "", + "devdoc" : "{\"methods\":{},\"title\":\"ERC20Basic\"}", + "hashes" : { + "balanceOf(address)" : "70a08231", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb" + }, + "metadata" : "", + "opcodes" : "", + "srcmap" : "", + "srcmap-runtime" : "", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDToken.sol:MintableToken" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "MSTORE" + }, + { + "begin" : 7794, + "end" : 7799, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "EXP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MUL" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "NOT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "AND" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP4" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MUL" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "OR" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SSTORE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "CODECOPY" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820dac21d26d4b49309ac6ffc19059f76f957271ad313e347fffe5b82bbaa208b3f0029", + ".code" : [ + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "MSTORE" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "CALLDATASIZE" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "LT" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "CALLDATALOAD" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "SWAP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DIV" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "AND" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "5D2035B" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "40C10F19" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "7D64BCB4" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "EQ" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPI" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "JUMPDEST" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "DUP1" + }, + { + "begin" : 7636, + "end" : 8616, + "name" : "REVERT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "CALLVALUE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPI" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "REVERT" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ISZERO" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MSTORE" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "ADD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "POP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "MLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SUB" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "RETURN" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLVALUE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPI" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "REVERT" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "AND" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MSTORE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SUB" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "RETURN" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "CALLVALUE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ISZERO" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPI" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "REVERT" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP3" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MSTORE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ADD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SUB" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "RETURN" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLVALUE" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPI" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "REVERT" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "AND" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "AND" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MLOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP3" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MSTORE" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MLOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SUB" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "RETURN" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLVALUE" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPI" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "REVERT" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "AND" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "CALLDATALOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MLOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP3" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ISZERO" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MSTORE" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "ADD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "MLOAD" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "DUP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SUB" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP1" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "RETURN" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLVALUE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPI" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "REVERT" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "AND" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MSTORE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SUB" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "RETURN" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLVALUE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ISZERO" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPI" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "REVERT" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "34" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "AND" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "35" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "34" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP3" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MSTORE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SUB" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "RETURN" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "CALLVALUE" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPI" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "REVERT" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MLOAD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP3" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ISZERO" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MSTORE" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "ADD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "MLOAD" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "DUP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP2" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SUB" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "RETURN" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLVALUE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPI" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "REVERT" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "AND" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "44" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MSTORE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SUB" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "RETURN" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLVALUE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPI" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "REVERT" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "AND" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MSTORE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SUB" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "RETURN" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLVALUE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ISZERO" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "48" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPI" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "REVERT" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "48" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "49" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "49" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MSTORE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SUB" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMPDEST" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SLOAD" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "EXP" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "SWAP1" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DIV" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "AND" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "DUP2" + }, + { + "begin" : 7764, + "end" : 7799, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5820, + "end" : 5824, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5864, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5839, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5840, + "end" : 5850, + "name" : "CALLER" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5852, + "end" : 5860, + "name" : "DUP6" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SSTORE" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "POP" + }, + { + "begin" : 5897, + "end" : 5905, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5885, + "end" : 5895, + "name" : "CALLER" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 5907, + "end" : 5913, + "name" : "DUP5" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MSTORE" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "ADD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SUB" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "LOG3" + }, + { + "begin" : 5927, + "end" : 5931, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "SWAP1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4773, + "end" : 4777, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4808, + "end" : 4809, + "name" : "DUP1" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4796, + "name" : "DUP4" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "EQ" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH [tag]", + "value" : "56" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPI" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "DUP1" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "REVERT" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "tag", + "value" : "56" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPDEST" + }, + { + "begin" : 4835, + "end" : 4843, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4844, + "end" : 4849, + "name" : "DUP6" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SWAP1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "KECCAK256" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SLOAD" + }, + { + "begin" : 4825, + "end" : 4831, + "name" : "DUP3" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "GT" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH [tag]", + "value" : "57" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPI" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "DUP1" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "REVERT" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "tag", + "value" : "57" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPDEST" + }, + { + "begin" : 4875, + "end" : 4882, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4883, + "end" : 4888, + "name" : "DUP6" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4890, + "end" : 4900, + "name" : "CALLER" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SLOAD" + }, + { + "begin" : 4865, + "end" : 4871, + "name" : "DUP3" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "GT" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPI" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "DUP1" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "REVERT" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPDEST" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH [tag]", + "value" : "59" + }, + { + "begin" : 4947, + "end" : 4953, + "name" : "DUP3" + }, + { + "begin" : 4927, + "end" : 4935, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4936, + "end" : 4941, + "name" : "DUP8" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "KECCAK256" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SLOAD" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP2" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "tag", + "value" : "59" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMPDEST" + }, + { + "begin" : 4909, + "end" : 4917, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4918, + "end" : 4923, + "name" : "DUP7" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "KECCAK256" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SSTORE" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "POP" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH [tag]", + "value" : "61" + }, + { + "begin" : 4994, + "end" : 5000, + "name" : "DUP3" + }, + { + "begin" : 4976, + "end" : 4984, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4985, + "end" : 4988, + "name" : "DUP7" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "KECCAK256" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SLOAD" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP2" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "tag", + "value" : "61" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMPDEST" + }, + { + "begin" : 4960, + "end" : 4968, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4969, + "end" : 4972, + "name" : "DUP6" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "KECCAK256" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SSTORE" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "POP" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH [tag]", + "value" : "63" + }, + { + "begin" : 5067, + "end" : 5073, + "name" : "DUP3" + }, + { + "begin" : 5036, + "end" : 5043, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5044, + "end" : 5049, + "name" : "DUP8" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5051, + "end" : 5061, + "name" : "CALLER" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SLOAD" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP2" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "tag", + "value" : "63" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMPDEST" + }, + { + "begin" : 5007, + "end" : 5014, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5015, + "end" : 5020, + "name" : "DUP7" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5022, + "end" : 5032, + "name" : "CALLER" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SSTORE" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "POP" + }, + { + "begin" : 5096, + "end" : 5099, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5089, + "end" : 5094, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 5101, + "end" : 5107, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MSTORE" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "ADD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SUB" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "LOG3" + }, + { + "begin" : 5121, + "end" : 5125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "SWAP1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP3" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMPDEST" + }, + { + "begin" : 8181, + "end" : 8185, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "65" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SLOAD" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "EXP" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "DIV" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "AND" + }, + { + "begin" : 7838, + "end" : 7854, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH [tag]", + "value" : "67" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPI" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "DUP1" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "REVERT" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "tag", + "value" : "67" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPDEST" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "PUSH [tag]", + "value" : "69" + }, + { + "begin" : 8223, + "end" : 8230, + "name" : "DUP3" + }, + { + "begin" : 8207, + "end" : 8218, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8207, + "end" : 8218, + "name" : "SLOAD" + }, + { + "begin" : 8207, + "end" : 8222, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 8207, + "end" : 8222, + "name" : "SWAP1" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "SWAP2" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "SWAP1" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "AND" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "tag", + "value" : "69" + }, + { + "begin" : 8207, + "end" : 8231, + "name" : "JUMPDEST" + }, + { + "begin" : 8193, + "end" : 8204, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "DUP2" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "SWAP1" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "SSTORE" + }, + { + "begin" : 8193, + "end" : 8231, + "name" : "POP" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "PUSH [tag]", + "value" : "70" + }, + { + "begin" : 8271, + "end" : 8278, + "name" : "DUP3" + }, + { + "begin" : 8253, + "end" : 8261, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8262, + "end" : 8265, + "name" : "DUP7" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "DUP2" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "MSTORE" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "ADD" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "DUP2" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "MSTORE" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "ADD" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "KECCAK256" + }, + { + "begin" : 8253, + "end" : 8266, + "name" : "SLOAD" + }, + { + "begin" : 8253, + "end" : 8270, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 8253, + "end" : 8270, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "SWAP2" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "SWAP1" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "AND" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "tag", + "value" : "70" + }, + { + "begin" : 8253, + "end" : 8279, + "name" : "JUMPDEST" + }, + { + "begin" : 8237, + "end" : 8245, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8246, + "end" : 8249, + "name" : "DUP6" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "AND" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "AND" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "MSTORE" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "ADD" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "SWAP1" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "MSTORE" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "ADD" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8237, + "end" : 8250, + "name" : "KECCAK256" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "DUP2" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "SWAP1" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "SSTORE" + }, + { + "begin" : 8237, + "end" : 8279, + "name" : "POP" + }, + { + "begin" : 8290, + "end" : 8293, + "name" : "DUP3" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "AND" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "F6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885" + }, + { + "begin" : 8295, + "end" : 8302, + "name" : "DUP4" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MLOAD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP3" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MSTORE" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "ADD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "POP" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "POP" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "MLOAD" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "DUP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP2" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SUB" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "SWAP1" + }, + { + "begin" : 8285, + "end" : 8303, + "name" : "LOG2" + }, + { + "begin" : 8330, + "end" : 8333, + "name" : "DUP3" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "AND" + }, + { + "begin" : 8326, + "end" : 8327, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "AND" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 8335, + "end" : 8342, + "name" : "DUP5" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MLOAD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP3" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MSTORE" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "ADD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "POP" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "POP" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "MLOAD" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "DUP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP2" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SUB" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "SWAP1" + }, + { + "begin" : 8309, + "end" : 8343, + "name" : "LOG3" + }, + { + "begin" : 8356, + "end" : 8360, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8349, + "end" : 8360, + "name" : "SWAP1" + }, + { + "begin" : 8349, + "end" : 8360, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP3" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "SWAP2" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "POP" + }, + { + "begin" : 8103, + "end" : 8365, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6965, + "end" : 6969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6977, + "end" : 6990, + "name" : "DUP1" + }, + { + "begin" : 6993, + "end" : 7000, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7001, + "end" : 7011, + "name" : "CALLER" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7013, + "end" : 7021, + "name" : "DUP6" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SLOAD" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "POP" + }, + { + "begin" : 7051, + "end" : 7059, + "name" : "DUP1" + }, + { + "begin" : 7032, + "end" : 7048, + "name" : "DUP4" + }, + { + "begin" : 7032, + "end" : 7059, + "name" : "GT" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "ISZERO" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "72" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPI" + }, + { + "begin" : 7101, + "end" : 7102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7076, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7077, + "end" : 7087, + "name" : "CALLER" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7089, + "end" : 7097, + "name" : "DUP7" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SSTORE" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "73" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "72" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH [tag]", + "value" : "74" + }, + { + "begin" : 7168, + "end" : 7184, + "name" : "DUP4" + }, + { + "begin" : 7155, + "end" : 7163, + "name" : "DUP3" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP2" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "AND" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "tag", + "value" : "74" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMPDEST" + }, + { + "begin" : 7123, + "end" : 7130, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7131, + "end" : 7141, + "name" : "CALLER" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7143, + "end" : 7151, + "name" : "DUP7" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SSTORE" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "73" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7218, + "end" : 7226, + "name" : "DUP4" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7206, + "end" : 7216, + "name" : "CALLER" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 7228, + "end" : 7235, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7236, + "end" : 7246, + "name" : "CALLER" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7248, + "end" : 7256, + "name" : "DUP9" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP3" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MSTORE" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "ADD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SUB" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "LOG3" + }, + { + "begin" : 7271, + "end" : 7275, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "SWAP2" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "35" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3414, + "end" : 3429, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3452, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3453, + "end" : 3459, + "name" : "DUP4" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "KECCAK256" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SLOAD" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMPDEST" + }, + { + "begin" : 8538, + "end" : 8542, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "77" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SLOAD" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "EXP" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "SWAP1" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "DIV" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 7839, + "end" : 7854, + "name" : "AND" + }, + { + "begin" : 7838, + "end" : 7854, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "ISZERO" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH [tag]", + "value" : "79" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPI" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "DUP1" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "REVERT" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "tag", + "value" : "79" + }, + { + "begin" : 7830, + "end" : 7855, + "name" : "JUMPDEST" + }, + { + "begin" : 8568, + "end" : 8572, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8550, + "end" : 8565, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 8550, + "end" : 8565, + "name" : "PUSH", + "value" : "14" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "EXP" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP2" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SLOAD" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP2" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "PUSH", + "value" : "FF" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "MUL" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "NOT" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "AND" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SWAP1" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "DUP4" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "ISZERO" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "ISZERO" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "MUL" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "OR" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SWAP1" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "SSTORE" + }, + { + "begin" : 8550, + "end" : 8572, + "name" : "POP" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "AE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "MLOAD" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "MLOAD" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "DUP1" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SWAP2" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SUB" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "SWAP1" + }, + { + "begin" : 8578, + "end" : 8592, + "name" : "LOG1" + }, + { + "begin" : 8605, + "end" : 8609, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 8598, + "end" : 8609, + "name" : "SWAP1" + }, + { + "begin" : 8598, + "end" : 8609, + "name" : "POP" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "SWAP1" + }, + { + "begin" : 8479, + "end" : 8614, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "44" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2840, + "end" : 2844, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2875, + "end" : 2876, + "name" : "DUP1" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2863, + "name" : "DUP4" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "EQ" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH [tag]", + "value" : "82" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPI" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "DUP1" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "REVERT" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "tag", + "value" : "82" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPDEST" + }, + { + "begin" : 2902, + "end" : 2910, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2911, + "end" : 2921, + "name" : "CALLER" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SWAP1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "KECCAK256" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SLOAD" + }, + { + "begin" : 2892, + "end" : 2898, + "name" : "DUP3" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "GT" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH [tag]", + "value" : "83" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPI" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "DUP1" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "REVERT" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "tag", + "value" : "83" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPDEST" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH [tag]", + "value" : "84" + }, + { + "begin" : 3041, + "end" : 3047, + "name" : "DUP3" + }, + { + "begin" : 3016, + "end" : 3024, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3025, + "end" : 3035, + "name" : "CALLER" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "KECCAK256" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SLOAD" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP2" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "tag", + "value" : "84" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMPDEST" + }, + { + "begin" : 2993, + "end" : 3001, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3002, + "end" : 3012, + "name" : "CALLER" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "KECCAK256" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SSTORE" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "POP" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH [tag]", + "value" : "85" + }, + { + "begin" : 3088, + "end" : 3094, + "name" : "DUP3" + }, + { + "begin" : 3070, + "end" : 3078, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3079, + "end" : 3082, + "name" : "DUP7" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "KECCAK256" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SLOAD" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP2" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "tag", + "value" : "85" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMPDEST" + }, + { + "begin" : 3054, + "end" : 3062, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3066, + "name" : "DUP6" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "KECCAK256" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SSTORE" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "POP" + }, + { + "begin" : 3122, + "end" : 3125, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3110, + "end" : 3120, + "name" : "CALLER" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 3127, + "end" : 3133, + "name" : "DUP5" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MSTORE" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "ADD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SUB" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "LOG3" + }, + { + "begin" : 3147, + "end" : 3151, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "SWAP1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6699, + "end" : 6703, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH [tag]", + "value" : "87" + }, + { + "begin" : 6777, + "end" : 6788, + "name" : "DUP3" + }, + { + "begin" : 6743, + "end" : 6750, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6751, + "end" : 6761, + "name" : "CALLER" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6763, + "end" : 6771, + "name" : "DUP7" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SLOAD" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "PUSH [tag]", + "value" : "62" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP2" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "tag", + "value" : "87" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMPDEST" + }, + { + "begin" : 6711, + "end" : 6718, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6719, + "end" : 6729, + "name" : "CALLER" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6731, + "end" : 6739, + "name" : "DUP6" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SSTORE" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "POP" + }, + { + "begin" : 6816, + "end" : 6824, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6804, + "end" : 6814, + "name" : "CALLER" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 6826, + "end" : 6833, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6834, + "end" : 6844, + "name" : "CALLER" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6846, + "end" : 6854, + "name" : "DUP8" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MSTORE" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "ADD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SUB" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "LOG3" + }, + { + "begin" : 6869, + "end" : 6873, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "SWAP1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6329, + "end" : 6336, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6358, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6359, + "end" : 6365, + "name" : "DUP5" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6367, + "end" : 6375, + "name" : "DUP4" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SLOAD" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "90" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "92" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "3" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMPDEST" + }, + { + "begin" : 2181, + "end" : 2188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2208, + "end" : 2209, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2204, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "GT" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "PUSH [tag]", + "value" : "94" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPI" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "INVALID" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "tag", + "value" : "94" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPDEST" + }, + { + "begin" : 2227, + "end" : 2228, + "name" : "DUP2" + }, + { + "begin" : 2223, + "end" : 2224, + "name" : "DUP4" + }, + { + "begin" : 2223, + "end" : 2228, + "name" : "SUB" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "SWAP1" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP3" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP2" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "tag", + "value" : "62" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMPDEST" + }, + { + "begin" : 2295, + "end" : 2302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2310, + "end" : 2319, + "name" : "DUP1" + }, + { + "begin" : 2326, + "end" : 2327, + "name" : "DUP3" + }, + { + "begin" : 2322, + "end" : 2323, + "name" : "DUP5" + }, + { + "begin" : 2322, + "end" : 2327, + "name" : "ADD" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "SWAP1" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "POP" + }, + { + "begin" : 2345, + "end" : 2346, + "name" : "DUP4" + }, + { + "begin" : 2340, + "end" : 2341, + "name" : "DUP2" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "LT" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "PUSH [tag]", + "value" : "96" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPI" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "INVALID" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "tag", + "value" : "96" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPDEST" + }, + { + "begin" : 2360, + "end" : 2361, + "name" : "DUP1" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "SWAP2" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP3" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP2" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "60606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820dac21d26d4b49309ac6ffc19059f76f957271ad313e347fffe5b82bbaa208b3f0029", + "bin-runtime" : "6060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820dac21d26d4b49309ac6ffc19059f76f957271ad313e347fffe5b82bbaa208b3f0029", + "clone-bin" : "60606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380606d6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Mintable token\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decreaseApproval(address,uint256)" : "66188463", + "finishMinting()" : "7d64bcb4", + "increaseApproval(address,uint256)" : "d73dd623", + "mint(address,uint256)" : "40c10f19", + "mintingFinished()" : "05d2035b", + "owner()" : "8da5cb5b", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"mintingFinished\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finishMinting\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MintFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"finishMinting()\":{\"details\":\"Function to stop minting new tokens.\",\"return\":\"True if the operation was successful.\"},\"mint(address,uint256)\":{\"details\":\"Function to mint tokens\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_to\":\"The address that will receive the minted tokens.\"},\"return\":\"A boolean that indicates if the operation was successful.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Mintable token\"},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"MintableToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x15AB DUP1 PUSH2 0x6F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x5D2035B EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x7D64BCB4 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x321 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x376 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x3D0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x42A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x496 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH2 0x4CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x102 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x4E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x164 PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D9 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x5DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xB81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DE PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xE12 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x307 PUSH2 0xE5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x334 PUSH2 0xF23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B6 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x410 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x116D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x480 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x1369 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x13F0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x665 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x6F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x742 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x7D7 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x8A9 DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xA13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA28 DUP3 PUSH1 0x0 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH2 0xA80 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0xC92 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xD26 JUMP JUMPDEST PUSH2 0xCA5 DUP4 DUP3 PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO PUSH2 0xED5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xAE5184FBA832CB2B1F702ACA6117B8D265EAF03AD33EB133F19DDE0F5920FA08 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xF86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xFD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1026 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1548 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x10BB DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11FE DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1561 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x144C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x1488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x1556 JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x1575 JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xda 0xc2 0x1d 0x26 0xd4 0xb4 SWAP4 MULMOD 0xac PUSH16 0xFC19059F76F957271AD313E347FFFE5B DUP3 0xbb 0xaa KECCAK256 DUP12 0x3f STOP 0x29 ", + "srcmap" : "7636:980:0:-;;;7794:5;7764:35;;;;;;;;;;;;;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;7636:980;;;;;;", + "srcmap-runtime" : "7636:980:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7764:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5753:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4691:439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8103:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6882:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8479:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2777:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6621:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6255:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;7764:35;;;;;;;;;;;;;:::o;5753:183::-;5820:4;5864:6;5832:7;:19;5840:10;5832:19;;;;;;;;;;;;;;;:29;5852:8;5832:29;;;;;;;;;;;;;;;:38;;;;5897:8;5876:38;;5885:10;5876:38;;;5907:6;5876:38;;;;;;;;;;;;;;;;;;5927:4;5920:11;;5753:183;;;;:::o;1270:26::-;;;;:::o;4691:439::-;4773:4;4808:1;4793:17;;:3;:17;;;;4785:26;;;;;;;;4835:8;:15;4844:5;4835:15;;;;;;;;;;;;;;;;4825:6;:25;;4817:34;;;;;;;;4875:7;:14;4883:5;4875:14;;;;;;;;;;;;;;;:26;4890:10;4875:26;;;;;;;;;;;;;;;;4865:6;:36;;4857:45;;;;;;;;4927:27;4947:6;4927:8;:15;4936:5;4927:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4909:8;:15;4918:5;4909:15;;;;;;;;;;;;;;;:45;;;;4976:25;4994:6;4976:8;:13;4985:3;4976:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4960:8;:13;4969:3;4960:13;;;;;;;;;;;;;;;:41;;;;5036:38;5067:6;5036:7;:14;5044:5;5036:14;;;;;;;;;;;;;;;:26;5051:10;5036:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5007:7;:14;5015:5;5007:14;;;;;;;;;;;;;;;:26;5022:10;5007:26;;;;;;;;;;;;;;;:67;;;;5096:3;5080:28;;5089:5;5080:28;;;5101:6;5080:28;;;;;;;;;;;;;;;;;;5121:4;5114:11;;4691:439;;;;;:::o;8103:262::-;8181:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;7839:15;;;;;;;;;;;7838:16;7830:25;;;;;;;;8207:24;8223:7;8207:11;;:15;;:24;;;;:::i;:::-;8193:11;:38;;;;8253:26;8271:7;8253:8;:13;8262:3;8253:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8237:8;:13;8246:3;8237:13;;;;;;;;;;;;;;;:42;;;;8290:3;8285:18;;;8295:7;8285:18;;;;;;;;;;;;;;;;;;8330:3;8309:34;;8326:1;8309:34;;;8335:7;8309:34;;;;;;;;;;;;;;;;;;8356:4;8349:11;;8103:262;;;;:::o;6882:398::-;6965:4;6977:13;6993:7;:19;7001:10;6993:19;;;;;;;;;;;;;;;:29;7013:8;6993:29;;;;;;;;;;;;;;;;6977:45;;7051:8;7032:16;:27;7028:164;;;7101:1;7069:7;:19;7077:10;7069:19;;;;;;;;;;;;;;;:29;7089:8;7069:29;;;;;;;;;;;;;;;:33;;;;7028:164;;;7155:30;7168:16;7155:8;:12;;:30;;;;:::i;:::-;7123:7;:19;7131:10;7123:19;;;;;;;;;;;;;;;:29;7143:8;7123:29;;;;;;;;;;;;;;;:62;;;;7028:164;7218:8;7197:61;;7206:10;7197:61;;;7228:7;:19;7236:10;7228:19;;;;;;;;;;;;;;;:29;7248:8;7228:29;;;;;;;;;;;;;;;;7197:61;;;;;;;;;;;;;;;;;;7271:4;7264:11;;6882:398;;;;;:::o;3358:107::-;3414:15;3444:8;:16;3453:6;3444:16;;;;;;;;;;;;;;;;3437:23;;3358:107;;;:::o;8479:135::-;8538:4;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;7839:15;;;;;;;;;;;7838:16;7830:25;;;;;;;;8568:4;8550:15;;:22;;;;;;;;;;;;;;;;;;8578:14;;;;;;;;;;8605:4;8598:11;;8479:135;:::o;291:20::-;;;;;;;;;;;;;:::o;2777:379::-;2840:4;2875:1;2860:17;;:3;:17;;;;2852:26;;;;;;;;2902:8;:20;2911:10;2902:20;;;;;;;;;;;;;;;;2892:6;:30;;2884:39;;;;;;;;3016:32;3041:6;3016:8;:20;3025:10;3016:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2993:8;:20;3002:10;2993:20;;;;;;;;;;;;;;;:55;;;;3070:25;3088:6;3070:8;:13;3079:3;3070:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3054:8;:13;3063:3;3054:13;;;;;;;;;;;;;;;:41;;;;3122:3;3101:33;;3110:10;3101:33;;;3127:6;3101:33;;;;;;;;;;;;;;;;;;3147:4;3140:11;;2777:379;;;;:::o;6621:257::-;6699:4;6743:46;6777:11;6743:7;:19;6751:10;6743:19;;;;;;;;;;;;;;;:29;6763:8;6743:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6711:7;:19;6719:10;6711:19;;;;;;;;;;;;;;;:29;6731:8;6711:29;;;;;;;;;;;;;;;:78;;;;6816:8;6795:61;;6804:10;6795:61;;;6826:7;:19;6834:10;6826:19;;;;;;;;;;;;;;;:29;6846:8;6826:29;;;;;;;;;;;;;;;;6795:61;;;;;;;;;;;;;;;;;;6869:4;6862:11;;6621:257;;;;:::o;6255:126::-;6329:7;6351;:15;6359:6;6351:15;;;;;;;;;;;;;;;:25;6367:8;6351:25;;;;;;;;;;;;;;;;6344:32;;6255:126;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o;2123:110::-;2181:7;2208:1;2203;:6;;2196:14;;;;;;2227:1;2223;:5;2216:12;;2123:110;;;;:::o;2237:129::-;2295:7;2310:9;2326:1;2322;:5;2310:17;;2345:1;2340;:6;;2333:14;;;;;;2360:1;2353:8;;2237:129;;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + }, + "build/flattened/BRDToken.sol:Ownable" : { + "abi" : "[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "CALLVALUE" + }, + { + "begin" : 522, + "end" : 577, + "name" : "ISZERO" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPI" + }, + { + "begin" : 522, + "end" : 577, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 522, + "end" : 577, + "name" : "DUP1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "REVERT" + }, + { + "begin" : 522, + "end" : 577, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 522, + "end" : 577, + "name" : "JUMPDEST" + }, + { + "begin" : 562, + "end" : 572, + "name" : "CALLER" + }, + { + "begin" : 554, + "end" : 559, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 554, + "end" : 559, + "name" : "DUP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 554, + "end" : 572, + "name" : "EXP" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SLOAD" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP2" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "NOT" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "DUP4" + }, + { + "begin" : 554, + "end" : 572, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 554, + "end" : 572, + "name" : "AND" + }, + { + "begin" : 554, + "end" : 572, + "name" : "MUL" + }, + { + "begin" : 554, + "end" : 572, + "name" : "OR" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SWAP1" + }, + { + "begin" : 554, + "end" : 572, + "name" : "SSTORE" + }, + { + "begin" : 554, + "end" : 572, + "name" : "POP" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CODECOPY" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a72305820d9883ae5d64e5a9adf0db08cb1aa3ad59d61be85e285347cfd890355c90f171e0029", + ".code" : [ + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "MSTORE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATASIZE" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "LT" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "CALLDATALOAD" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "SWAP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DIV" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "AND" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "8DA5CB5B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "F2FDE38B" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "EQ" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPI" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "JUMPDEST" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "DUP1" + }, + { + "begin" : 270, + "end" : 1059, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "CALLVALUE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ISZERO" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPI" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "REVERT" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP3" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MSTORE" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 291, + "end" : 311, + "name" : "ADD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "POP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 291, + "end" : 311, + "name" : "MLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SUB" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "RETURN" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLVALUE" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ISZERO" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPI" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "REVERT" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "DUP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "CALLDATALOAD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "AND" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "ADD" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP2" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "SWAP1" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "STOP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMPDEST" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SLOAD" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 291, + "end" : 311, + "name" : "EXP" + }, + { + "begin" : 291, + "end" : 311, + "name" : "SWAP1" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DIV" + }, + { + "begin" : 291, + "end" : 311, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 291, + "end" : 311, + "name" : "AND" + }, + { + "begin" : 291, + "end" : 311, + "name" : "DUP2" + }, + { + "begin" : 291, + "end" : 311, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMPDEST" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DUP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SLOAD" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 707, + "end" : 712, + "name" : "EXP" + }, + { + "begin" : 707, + "end" : 712, + "name" : "SWAP1" + }, + { + "begin" : 707, + "end" : 712, + "name" : "DIV" + }, + { + "begin" : 707, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 707, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 703, + "name" : "CALLER" + }, + { + "begin" : 693, + "end" : 712, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 693, + "end" : 712, + "name" : "AND" + }, + { + "begin" : 693, + "end" : 712, + "name" : "EQ" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "ISZERO" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPI" + }, + { + "begin" : 685, + "end" : 713, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 685, + "end" : 713, + "name" : "DUP1" + }, + { + "begin" : 685, + "end" : 713, + "name" : "REVERT" + }, + { + "begin" : 685, + "end" : 713, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 685, + "end" : 713, + "name" : "JUMPDEST" + }, + { + "begin" : 983, + "end" : 984, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 971, + "name" : "DUP2" + }, + { + "begin" : 963, + "end" : 985, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 963, + "end" : 985, + "name" : "AND" + }, + { + "begin" : 963, + "end" : 985, + "name" : "EQ" + }, + { + "begin" : 963, + "end" : 985, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "ISZERO" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPI" + }, + { + "begin" : 955, + "end" : 986, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 955, + "end" : 986, + "name" : "DUP1" + }, + { + "begin" : 955, + "end" : 986, + "name" : "REVERT" + }, + { + "begin" : 955, + "end" : 986, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 955, + "end" : 986, + "name" : "JUMPDEST" + }, + { + "begin" : 1020, + "end" : 1028, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DUP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SLOAD" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "EXP" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "SWAP1" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "DIV" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1013, + "end" : 1018, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "AND" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "MLOAD" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "DUP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP2" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SUB" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "SWAP1" + }, + { + "begin" : 992, + "end" : 1029, + "name" : "LOG3" + }, + { + "begin" : 1043, + "end" : 1051, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1035, + "end" : 1040, + "name" : "DUP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "100" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "EXP" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SLOAD" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP2" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "NOT" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "DUP4" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "AND" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "MUL" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "OR" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SWAP1" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "SSTORE" + }, + { + "begin" : 1035, + "end" : 1051, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "POP" + }, + { + "begin" : 887, + "end" : 1056, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d9883ae5d64e5a9adf0db08cb1aa3ad59d61be85e285347cfd890355c90f171e0029", + "bin-runtime" : "60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d9883ae5d64e5a9adf0db08cb1aa3ad59d61be85e285347cfd890355c90f171e0029", + "clone-bin" : "60606040523415600e57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603380605b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"}", + "hashes" : { + "owner()" : "8da5cb5b", + "transferOwnership(address)" : "f2fde38b" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"Ownable\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x285 DUP1 PUSH2 0x5E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xA6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xd9 DUP9 GASPRICE 0xe5 0xd6 0x4e GAS SWAP11 0xdf 0xd 0xb0 DUP13 0xb1 0xaa GASPRICE 0xd5 SWAP14 PUSH2 0xBE85 0xe2 DUP6 CALLVALUE PUSH29 0xFD890355C90F171E002900000000000000000000000000000000000000 ", + "srcmap" : "270:789:0:-;;;522:55;;;;;;;;562:10;554:5;;:18;;;;;;;;;;;;;;;;;;270:789;;;;;;", + "srcmap-runtime" : "270:789:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;887:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;291:20;;;;;;;;;;;;;:::o;887:169::-;707:5;;;;;;;;;;;693:19;;:10;:19;;;685:28;;;;;;;;983:1;963:22;;:8;:22;;;;955:31;;;;;;;;1020:8;992:37;;1013:5;;;;;;;;;;;992:37;;;;;;;;;;;;1043:8;1035:5;;:16;;;;;;;;;;;;;;;;;;887:169;:::o", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDToken.sol:SafeMath" : { + "abi" : "[]", + "asm" : { + ".code" : [ + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "MSTORE" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "CALLVALUE" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "ISZERO" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "JUMPI" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "DUP1" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "REVERT" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "JUMPDEST" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "DUP1" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "CODECOPY" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058204a514fc9e903e241ce1a8e9131d1fe6bcbd7e9b33f06c5a37cef9ba82727dd620029", + ".code" : [ + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "MSTORE" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "DUP1" + }, + { + "begin" : 1656, + "end" : 2368, + "name" : "REVERT" + } + ] + } + } + }, + "bin" : "60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058204a514fc9e903e241ce1a8e9131d1fe6bcbd7e9b33f06c5a37cef9ba82727dd620029", + "bin-runtime" : "6060604052600080fd00a165627a7a723058204a514fc9e903e241ce1a8e9131d1fe6bcbd7e9b33f06c5a37cef9ba82727dd620029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{},\"title\":\"SafeMath\"}", + "hashes" : {}, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"SafeMath\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH1 0xE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x35 DUP1 PUSH1 0x1B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0x4a MLOAD 0x4f 0xc9 0xe9 SUB 0xe2 COINBASE 0xce BYTE DUP15 SWAP2 BALANCE 0xd1 INVALID PUSH12 0xCBD7E9B33F06C5A37CEF9BA8 0x27 0x27 0xdd PUSH3 0x2900 ", + "srcmap" : "1656:712:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "1656:712:0:-;;;;;", + "userdoc" : "{\"methods\":{}}" + }, + "build/flattened/BRDToken.sol:StandardToken" : { + "abi" : "[{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}]", + "asm" : { + ".code" : [ + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "MSTORE" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "CALLVALUE" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "ISZERO" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "REVERT" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPDEST" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH #[$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [$]", + "value" : "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "CODECOPY" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "RETURN" + } + ], + ".data" : { + "0" : { + ".auxdata" : "a165627a7a723058203de9a000d0cd7e79de1d9b55c75ff9772b25496615a088be6de72da6bce1467a0029", + ".code" : [ + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "60" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "MSTORE" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "CALLDATASIZE" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "LT" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "100000000000000000000000000000000000000000000000000000000" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "SWAP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DIV" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "AND" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "95EA7B3" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "2" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "18160DDD" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "3" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "23B872DD" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "4" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "66188463" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "5" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "70A08231" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "6" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "A9059CBB" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "7" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "D73DD623" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "8" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "DD62ED3E" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "EQ" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH [tag]", + "value" : "9" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPI" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "tag", + "value" : "1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "JUMPDEST" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "DUP1" + }, + { + "begin" : 4299, + "end" : 7283, + "name" : "REVERT" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLVALUE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "10" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPI" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "REVERT" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "10" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "11" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "AND" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "CALLDATALOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH [tag]", + "value" : "12" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "11" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ISZERO" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MSTORE" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "ADD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "MLOAD" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "DUP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SUB" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP1" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "RETURN" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "3" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "CALLVALUE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ISZERO" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "13" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPI" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "REVERT" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "13" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "14" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH [tag]", + "value" : "15" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "14" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP3" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MSTORE" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "ADD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "POP" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "MLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SUB" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SWAP1" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "RETURN" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLVALUE" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "16" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPI" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "REVERT" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "16" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "17" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "AND" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "AND" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "CALLDATALOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH [tag]", + "value" : "18" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "17" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MLOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP3" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ISZERO" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MSTORE" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "ADD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "MLOAD" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "DUP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP2" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SUB" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP1" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "RETURN" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "5" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLVALUE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "19" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPI" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "REVERT" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "19" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "AND" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH [tag]", + "value" : "21" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ISZERO" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MSTORE" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "ADD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "MLOAD" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "DUP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SUB" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP1" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "RETURN" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "6" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLVALUE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ISZERO" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "22" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPI" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "REVERT" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "22" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "23" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "CALLDATALOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "AND" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH [tag]", + "value" : "24" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "23" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP3" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MSTORE" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "ADD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "MLOAD" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "DUP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SUB" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "RETURN" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "7" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLVALUE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "25" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPI" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "REVERT" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "25" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "26" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "AND" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "CALLDATALOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH [tag]", + "value" : "27" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "26" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ISZERO" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MSTORE" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "ADD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "MLOAD" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "DUP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SUB" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP1" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "RETURN" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "8" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLVALUE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "28" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPI" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "REVERT" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "28" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "29" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "AND" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH [tag]", + "value" : "30" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "29" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ISZERO" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MSTORE" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "ADD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "MLOAD" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "DUP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SUB" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP1" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "RETURN" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "9" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLVALUE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ISZERO" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "31" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPI" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "REVERT" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "31" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "32" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "4" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "CALLDATALOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "AND" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH [tag]", + "value" : "33" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "32" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MSTORE" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "ADD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "MLOAD" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "DUP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SUB" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP1" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "RETURN" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "tag", + "value" : "12" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMPDEST" + }, + { + "begin" : 5820, + "end" : 5824, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5864, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5839, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5840, + "end" : 5850, + "name" : "CALLER" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5851, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5852, + "end" : 5860, + "name" : "DUP6" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "AND" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "MSTORE" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "ADD" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5832, + "end" : 5861, + "name" : "KECCAK256" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "DUP2" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SWAP1" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "SSTORE" + }, + { + "begin" : 5832, + "end" : 5870, + "name" : "POP" + }, + { + "begin" : 5897, + "end" : 5905, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5885, + "end" : 5895, + "name" : "CALLER" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "AND" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 5907, + "end" : 5913, + "name" : "DUP5" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP3" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MSTORE" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "ADD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "POP" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "MLOAD" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "DUP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP2" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SUB" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "SWAP1" + }, + { + "begin" : 5876, + "end" : 5914, + "name" : "LOG3" + }, + { + "begin" : 5927, + "end" : 5931, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "SWAP1" + }, + { + "begin" : 5920, + "end" : 5931, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP3" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "SWAP2" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "POP" + }, + { + "begin" : 5753, + "end" : 5936, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "tag", + "value" : "15" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMPDEST" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "SLOAD" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "DUP2" + }, + { + "begin" : 1270, + "end" : 1296, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "tag", + "value" : "18" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMPDEST" + }, + { + "begin" : 4773, + "end" : 4777, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4808, + "end" : 4809, + "name" : "DUP1" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4796, + "name" : "DUP4" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "AND" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "EQ" + }, + { + "begin" : 4793, + "end" : 4810, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "ISZERO" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH [tag]", + "value" : "36" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPI" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "DUP1" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "REVERT" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "tag", + "value" : "36" + }, + { + "begin" : 4785, + "end" : 4811, + "name" : "JUMPDEST" + }, + { + "begin" : 4835, + "end" : 4843, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4844, + "end" : 4849, + "name" : "DUP6" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "AND" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SWAP1" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "DUP2" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "MSTORE" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "ADD" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "KECCAK256" + }, + { + "begin" : 4835, + "end" : 4850, + "name" : "SLOAD" + }, + { + "begin" : 4825, + "end" : 4831, + "name" : "DUP3" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "GT" + }, + { + "begin" : 4825, + "end" : 4850, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "ISZERO" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH [tag]", + "value" : "37" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPI" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "DUP1" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "REVERT" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "tag", + "value" : "37" + }, + { + "begin" : 4817, + "end" : 4851, + "name" : "JUMPDEST" + }, + { + "begin" : 4875, + "end" : 4882, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4883, + "end" : 4888, + "name" : "DUP6" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4889, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4890, + "end" : 4900, + "name" : "CALLER" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "AND" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SWAP1" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "DUP2" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "MSTORE" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "ADD" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "KECCAK256" + }, + { + "begin" : 4875, + "end" : 4901, + "name" : "SLOAD" + }, + { + "begin" : 4865, + "end" : 4871, + "name" : "DUP3" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "GT" + }, + { + "begin" : 4865, + "end" : 4901, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "ISZERO" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH [tag]", + "value" : "38" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPI" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "DUP1" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "REVERT" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "tag", + "value" : "38" + }, + { + "begin" : 4857, + "end" : 4902, + "name" : "JUMPDEST" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH [tag]", + "value" : "39" + }, + { + "begin" : 4947, + "end" : 4953, + "name" : "DUP3" + }, + { + "begin" : 4927, + "end" : 4935, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4936, + "end" : 4941, + "name" : "DUP8" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "DUP2" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "MSTORE" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "ADD" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "KECCAK256" + }, + { + "begin" : 4927, + "end" : 4942, + "name" : "SLOAD" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 4927, + "end" : 4946, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP2" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "AND" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "tag", + "value" : "39" + }, + { + "begin" : 4927, + "end" : 4954, + "name" : "JUMPDEST" + }, + { + "begin" : 4909, + "end" : 4917, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4918, + "end" : 4923, + "name" : "DUP7" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "AND" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "MSTORE" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "ADD" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4909, + "end" : 4924, + "name" : "KECCAK256" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "DUP2" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SWAP1" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "SSTORE" + }, + { + "begin" : 4909, + "end" : 4954, + "name" : "POP" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH [tag]", + "value" : "41" + }, + { + "begin" : 4994, + "end" : 5000, + "name" : "DUP3" + }, + { + "begin" : 4976, + "end" : 4984, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4985, + "end" : 4988, + "name" : "DUP7" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "DUP2" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "MSTORE" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "ADD" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "KECCAK256" + }, + { + "begin" : 4976, + "end" : 4989, + "name" : "SLOAD" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 4976, + "end" : 4993, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP2" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "AND" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "tag", + "value" : "41" + }, + { + "begin" : 4976, + "end" : 5001, + "name" : "JUMPDEST" + }, + { + "begin" : 4960, + "end" : 4968, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4969, + "end" : 4972, + "name" : "DUP6" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "AND" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "MSTORE" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "ADD" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 4960, + "end" : 4973, + "name" : "KECCAK256" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "DUP2" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SWAP1" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "SSTORE" + }, + { + "begin" : 4960, + "end" : 5001, + "name" : "POP" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH [tag]", + "value" : "43" + }, + { + "begin" : 5067, + "end" : 5073, + "name" : "DUP3" + }, + { + "begin" : 5036, + "end" : 5043, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5044, + "end" : 5049, + "name" : "DUP8" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5050, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5051, + "end" : 5061, + "name" : "CALLER" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "DUP2" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "MSTORE" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "ADD" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "KECCAK256" + }, + { + "begin" : 5036, + "end" : 5062, + "name" : "SLOAD" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 5036, + "end" : 5066, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP2" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "AND" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "tag", + "value" : "43" + }, + { + "begin" : 5036, + "end" : 5074, + "name" : "JUMPDEST" + }, + { + "begin" : 5007, + "end" : 5014, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5015, + "end" : 5020, + "name" : "DUP7" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5021, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5022, + "end" : 5032, + "name" : "CALLER" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "AND" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "MSTORE" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "ADD" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 5007, + "end" : 5033, + "name" : "KECCAK256" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "DUP2" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SWAP1" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "SSTORE" + }, + { + "begin" : 5007, + "end" : 5074, + "name" : "POP" + }, + { + "begin" : 5096, + "end" : 5099, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5089, + "end" : 5094, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "AND" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 5101, + "end" : 5107, + "name" : "DUP5" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP3" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MSTORE" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "ADD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "POP" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "MLOAD" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "DUP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP2" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SUB" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "SWAP1" + }, + { + "begin" : 5080, + "end" : 5108, + "name" : "LOG3" + }, + { + "begin" : 5121, + "end" : 5125, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "SWAP1" + }, + { + "begin" : 5114, + "end" : 5125, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP4" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "SWAP3" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "POP" + }, + { + "begin" : 4691, + "end" : 5130, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "tag", + "value" : "21" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMPDEST" + }, + { + "begin" : 6965, + "end" : 6969, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6977, + "end" : 6990, + "name" : "DUP1" + }, + { + "begin" : 6993, + "end" : 7000, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7001, + "end" : 7011, + "name" : "CALLER" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7012, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7013, + "end" : 7021, + "name" : "DUP6" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "AND" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "DUP2" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "MSTORE" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "ADD" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "KECCAK256" + }, + { + "begin" : 6993, + "end" : 7022, + "name" : "SLOAD" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "SWAP1" + }, + { + "begin" : 6977, + "end" : 7022, + "name" : "POP" + }, + { + "begin" : 7051, + "end" : 7059, + "name" : "DUP1" + }, + { + "begin" : 7032, + "end" : 7048, + "name" : "DUP4" + }, + { + "begin" : 7032, + "end" : 7059, + "name" : "GT" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "ISZERO" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "45" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPI" + }, + { + "begin" : 7101, + "end" : 7102, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7076, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7077, + "end" : 7087, + "name" : "CALLER" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7088, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7089, + "end" : 7097, + "name" : "DUP7" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "AND" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "MSTORE" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "ADD" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7069, + "end" : 7098, + "name" : "KECCAK256" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "DUP2" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SWAP1" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "SSTORE" + }, + { + "begin" : 7069, + "end" : 7102, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "PUSH [tag]", + "value" : "46" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "45" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH [tag]", + "value" : "47" + }, + { + "begin" : 7168, + "end" : 7184, + "name" : "DUP4" + }, + { + "begin" : 7155, + "end" : 7163, + "name" : "DUP3" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 7155, + "end" : 7167, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP2" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "AND" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "tag", + "value" : "47" + }, + { + "begin" : 7155, + "end" : 7185, + "name" : "JUMPDEST" + }, + { + "begin" : 7123, + "end" : 7130, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7131, + "end" : 7141, + "name" : "CALLER" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7142, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7143, + "end" : 7151, + "name" : "DUP7" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "AND" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "MSTORE" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "ADD" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7123, + "end" : 7152, + "name" : "KECCAK256" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "DUP2" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SWAP1" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "SSTORE" + }, + { + "begin" : 7123, + "end" : 7185, + "name" : "POP" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "tag", + "value" : "46" + }, + { + "begin" : 7028, + "end" : 7192, + "name" : "JUMPDEST" + }, + { + "begin" : 7218, + "end" : 7226, + "name" : "DUP4" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7206, + "end" : 7216, + "name" : "CALLER" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "AND" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 7228, + "end" : 7235, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7236, + "end" : 7246, + "name" : "CALLER" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7247, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7248, + "end" : 7256, + "name" : "DUP9" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "AND" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SWAP1" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "DUP2" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "MSTORE" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "ADD" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "KECCAK256" + }, + { + "begin" : 7228, + "end" : 7257, + "name" : "SLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP3" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MSTORE" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "ADD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "POP" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "MLOAD" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "DUP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP2" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SUB" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "SWAP1" + }, + { + "begin" : 7197, + "end" : 7258, + "name" : "LOG3" + }, + { + "begin" : 7271, + "end" : 7275, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "SWAP2" + }, + { + "begin" : 7264, + "end" : 7275, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP3" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "SWAP2" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "POP" + }, + { + "begin" : 6882, + "end" : 7280, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "tag", + "value" : "24" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMPDEST" + }, + { + "begin" : 3414, + "end" : 3429, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3452, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3453, + "end" : 3459, + "name" : "DUP4" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "AND" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "DUP2" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "MSTORE" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "ADD" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "KECCAK256" + }, + { + "begin" : 3444, + "end" : 3460, + "name" : "SLOAD" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "SWAP1" + }, + { + "begin" : 3437, + "end" : 3460, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP2" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "SWAP1" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "POP" + }, + { + "begin" : 3358, + "end" : 3465, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "tag", + "value" : "27" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMPDEST" + }, + { + "begin" : 2840, + "end" : 2844, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2875, + "end" : 2876, + "name" : "DUP1" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2863, + "name" : "DUP4" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "AND" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "EQ" + }, + { + "begin" : 2860, + "end" : 2877, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "ISZERO" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH [tag]", + "value" : "50" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPI" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "DUP1" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "REVERT" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "tag", + "value" : "50" + }, + { + "begin" : 2852, + "end" : 2878, + "name" : "JUMPDEST" + }, + { + "begin" : 2902, + "end" : 2910, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2911, + "end" : 2921, + "name" : "CALLER" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "AND" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SWAP1" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "DUP2" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "MSTORE" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "ADD" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "KECCAK256" + }, + { + "begin" : 2902, + "end" : 2922, + "name" : "SLOAD" + }, + { + "begin" : 2892, + "end" : 2898, + "name" : "DUP3" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "GT" + }, + { + "begin" : 2892, + "end" : 2922, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "ISZERO" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH [tag]", + "value" : "51" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPI" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "DUP1" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "REVERT" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "tag", + "value" : "51" + }, + { + "begin" : 2884, + "end" : 2923, + "name" : "JUMPDEST" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH [tag]", + "value" : "52" + }, + { + "begin" : 3041, + "end" : 3047, + "name" : "DUP3" + }, + { + "begin" : 3016, + "end" : 3024, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3025, + "end" : 3035, + "name" : "CALLER" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "DUP2" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "MSTORE" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "ADD" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "KECCAK256" + }, + { + "begin" : 3016, + "end" : 3036, + "name" : "SLOAD" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "PUSH [tag]", + "value" : "40" + }, + { + "begin" : 3016, + "end" : 3040, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP2" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "AND" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "tag", + "value" : "52" + }, + { + "begin" : 3016, + "end" : 3048, + "name" : "JUMPDEST" + }, + { + "begin" : 2993, + "end" : 3001, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3002, + "end" : 3012, + "name" : "CALLER" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "AND" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "MSTORE" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "ADD" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2993, + "end" : 3013, + "name" : "KECCAK256" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "DUP2" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SWAP1" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "SSTORE" + }, + { + "begin" : 2993, + "end" : 3048, + "name" : "POP" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH [tag]", + "value" : "53" + }, + { + "begin" : 3088, + "end" : 3094, + "name" : "DUP3" + }, + { + "begin" : 3070, + "end" : 3078, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3079, + "end" : 3082, + "name" : "DUP7" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "DUP2" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "MSTORE" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "ADD" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "KECCAK256" + }, + { + "begin" : 3070, + "end" : 3083, + "name" : "SLOAD" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 3070, + "end" : 3087, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP2" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "AND" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "tag", + "value" : "53" + }, + { + "begin" : 3070, + "end" : 3095, + "name" : "JUMPDEST" + }, + { + "begin" : 3054, + "end" : 3062, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3063, + "end" : 3066, + "name" : "DUP6" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "AND" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "MSTORE" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "ADD" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 3054, + "end" : 3067, + "name" : "KECCAK256" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "DUP2" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SWAP1" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "SSTORE" + }, + { + "begin" : 3054, + "end" : 3095, + "name" : "POP" + }, + { + "begin" : 3122, + "end" : 3125, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3110, + "end" : 3120, + "name" : "CALLER" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "AND" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + { + "begin" : 3127, + "end" : 3133, + "name" : "DUP5" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP3" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MSTORE" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "ADD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "POP" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "MLOAD" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "DUP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP2" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SUB" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "SWAP1" + }, + { + "begin" : 3101, + "end" : 3134, + "name" : "LOG3" + }, + { + "begin" : 3147, + "end" : 3151, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "SWAP1" + }, + { + "begin" : 3140, + "end" : 3151, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP3" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "SWAP2" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "POP" + }, + { + "begin" : 2777, + "end" : 3156, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "tag", + "value" : "30" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMPDEST" + }, + { + "begin" : 6699, + "end" : 6703, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH [tag]", + "value" : "55" + }, + { + "begin" : 6777, + "end" : 6788, + "name" : "DUP3" + }, + { + "begin" : 6743, + "end" : 6750, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6751, + "end" : 6761, + "name" : "CALLER" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6762, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6763, + "end" : 6771, + "name" : "DUP7" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "DUP2" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "MSTORE" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "ADD" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "KECCAK256" + }, + { + "begin" : 6743, + "end" : 6772, + "name" : "SLOAD" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "PUSH [tag]", + "value" : "42" + }, + { + "begin" : 6743, + "end" : 6776, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP2" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "PUSH", + "value" : "FFFFFFFF" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "AND" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMP", + "value" : "[in]" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "tag", + "value" : "55" + }, + { + "begin" : 6743, + "end" : 6789, + "name" : "JUMPDEST" + }, + { + "begin" : 6711, + "end" : 6718, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6719, + "end" : 6729, + "name" : "CALLER" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6730, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6731, + "end" : 6739, + "name" : "DUP6" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "AND" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "MSTORE" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "ADD" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6711, + "end" : 6740, + "name" : "KECCAK256" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "DUP2" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SWAP1" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "SSTORE" + }, + { + "begin" : 6711, + "end" : 6789, + "name" : "POP" + }, + { + "begin" : 6816, + "end" : 6824, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6804, + "end" : 6814, + "name" : "CALLER" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "AND" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + { + "begin" : 6826, + "end" : 6833, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6834, + "end" : 6844, + "name" : "CALLER" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6845, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6846, + "end" : 6854, + "name" : "DUP8" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "AND" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SWAP1" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "DUP2" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "MSTORE" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "ADD" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "KECCAK256" + }, + { + "begin" : 6826, + "end" : 6855, + "name" : "SLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP3" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MSTORE" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "ADD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "POP" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "PUSH", + "value" : "40" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "MLOAD" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "DUP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP2" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SUB" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "SWAP1" + }, + { + "begin" : 6795, + "end" : 6856, + "name" : "LOG3" + }, + { + "begin" : 6869, + "end" : 6873, + "name" : "PUSH", + "value" : "1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "SWAP1" + }, + { + "begin" : 6862, + "end" : 6873, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP3" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "SWAP2" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "POP" + }, + { + "begin" : 6621, + "end" : 6878, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "tag", + "value" : "33" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMPDEST" + }, + { + "begin" : 6329, + "end" : 6336, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6358, + "name" : "PUSH", + "value" : "2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6359, + "end" : 6365, + "name" : "DUP5" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6366, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6367, + "end" : 6375, + "name" : "DUP4" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "AND" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "DUP2" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "MSTORE" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "20" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "ADD" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "KECCAK256" + }, + { + "begin" : 6351, + "end" : 6376, + "name" : "SLOAD" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "SWAP1" + }, + { + "begin" : 6344, + "end" : 6376, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP3" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "SWAP2" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "POP" + }, + { + "begin" : 6255, + "end" : 6381, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "tag", + "value" : "40" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMPDEST" + }, + { + "begin" : 2181, + "end" : 2188, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2208, + "end" : 2209, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2204, + "name" : "DUP3" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "GT" + }, + { + "begin" : 2203, + "end" : 2209, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "ISZERO" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "PUSH [tag]", + "value" : "58" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPI" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "INVALID" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "tag", + "value" : "58" + }, + { + "begin" : 2196, + "end" : 2210, + "name" : "JUMPDEST" + }, + { + "begin" : 2227, + "end" : 2228, + "name" : "DUP2" + }, + { + "begin" : 2223, + "end" : 2224, + "name" : "DUP4" + }, + { + "begin" : 2223, + "end" : 2228, + "name" : "SUB" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "SWAP1" + }, + { + "begin" : 2216, + "end" : 2228, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP3" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "SWAP2" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "POP" + }, + { + "begin" : 2123, + "end" : 2233, + "name" : "JUMP", + "value" : "[out]" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "tag", + "value" : "42" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMPDEST" + }, + { + "begin" : 2295, + "end" : 2302, + "name" : "PUSH", + "value" : "0" + }, + { + "begin" : 2310, + "end" : 2319, + "name" : "DUP1" + }, + { + "begin" : 2326, + "end" : 2327, + "name" : "DUP3" + }, + { + "begin" : 2322, + "end" : 2323, + "name" : "DUP5" + }, + { + "begin" : 2322, + "end" : 2327, + "name" : "ADD" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "SWAP1" + }, + { + "begin" : 2310, + "end" : 2327, + "name" : "POP" + }, + { + "begin" : 2345, + "end" : 2346, + "name" : "DUP4" + }, + { + "begin" : 2340, + "end" : 2341, + "name" : "DUP2" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "LT" + }, + { + "begin" : 2340, + "end" : 2346, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "ISZERO" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "PUSH [tag]", + "value" : "60" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPI" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "INVALID" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "tag", + "value" : "60" + }, + { + "begin" : 2333, + "end" : 2347, + "name" : "JUMPDEST" + }, + { + "begin" : 2360, + "end" : 2361, + "name" : "DUP1" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "SWAP2" + }, + { + "begin" : 2353, + "end" : 2361, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP3" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "SWAP2" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "POP" + }, + { + "begin" : 2237, + "end" : 2366, + "name" : "JUMP", + "value" : "[out]" + } + ] + } + } + }, + "bin" : "6060604052341561000f57600080fd5b610ff18061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a723058203de9a000d0cd7e79de1d9b55c75ff9772b25496615a088be6de72da6bce1467a0029", + "bin-runtime" : "60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a723058203de9a000d0cd7e79de1d9b55c75ff9772b25496615a088be6de72da6bce1467a0029", + "clone-bin" : "60606040523415600e57600080fd5b603380601b6000396000f30036600080376020600036600073cafecafecafecafecafecafecafecafecafecafe6102c65a03f41515602d57fe5b60206000f3", + "devdoc" : "{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"}", + "hashes" : { + "allowance(address,address)" : "dd62ed3e", + "approve(address,uint256)" : "095ea7b3", + "balanceOf(address)" : "70a08231", + "decreaseApproval(address,uint256)" : "66188463", + "increaseApproval(address,uint256)" : "d73dd623", + "totalSupply()" : "18160ddd", + "transfer(address,uint256)" : "a9059cbb", + "transferFrom(address,address,uint256)" : "23b872dd" + }, + "metadata" : "{\"compiler\":{\"version\":\"0.4.18+commit.9cf6e910\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"_owner\":\"address The address which owns the funds.\",\"_spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"_spender\":\"The address which will spend the funds.\",\"_value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"_owner\":\"The address to query the the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"transfer(address,uint256)\":{\"details\":\"transfer token for a specified address\",\"params\":{\"_to\":\"The address to transfer to.\",\"_value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"_from\":\"address The address which you want to send tokens from\",\"_to\":\"address The address which you want to transfer to\",\"_value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"},\"userdoc\":{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}},\"settings\":{\"compilationTarget\":{\"build/flattened/BRDToken.sol\":\"StandardToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"build/flattened/BRDToken.sol\":{\"keccak256\":\"0x22dc8be34d0e91c9bdebb3127ab31c9ece3521ca6aef034e69e1fecc21713af7\",\"urls\":[\"bzzr://5c6b15328e2af69480d994821096468d43c02200e81fb3ac306591ef81b2ac66\"]}},\"version\":1}", + "opcodes" : "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFF1 DUP1 PUSH2 0x1E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8E JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x66188463 EQ PUSH2 0x18F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0xD73DD623 EQ PUSH2 0x290 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2EA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD3 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x100 PUSH2 0x448 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x44E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1CF PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x80D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x220 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xA9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x276 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xAE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D0 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xD0B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x340 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x48B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0x564 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5B6 DUP3 PUSH1 0x1 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x64B DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x71D DUP3 PUSH1 0x2 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP1 DUP4 GT ISZERO PUSH2 0x91E JUMPI PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x9B2 JUMP JUMPDEST PUSH2 0x931 DUP4 DUP3 PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0xB24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xB72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC4 DUP3 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF8E SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xC59 DUP3 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9C DUP3 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xFA7 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO ISZERO ISZERO PUSH2 0xF9C JUMPI INVALID JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0xFBB JUMPI INVALID JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 RETURNDATASIZE 0xe9 LOG0 STOP 0xd0 0xcd PUSH31 0x79DE1D9B55C75FF9772B25496615A088BE6DE72DA6BCE1467A002900000000 ", + "srcmap" : "4299:2984:0:-;;;;;;;;;;;;;;;;;", + "srcmap-runtime" : "4299:2984:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5753:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4691:439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6882:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2777:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6621:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6255:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5753:183;5820:4;5864:6;5832:7;:19;5840:10;5832:19;;;;;;;;;;;;;;;:29;5852:8;5832:29;;;;;;;;;;;;;;;:38;;;;5897:8;5876:38;;5885:10;5876:38;;;5907:6;5876:38;;;;;;;;;;;;;;;;;;5927:4;5920:11;;5753:183;;;;:::o;1270:26::-;;;;:::o;4691:439::-;4773:4;4808:1;4793:17;;:3;:17;;;;4785:26;;;;;;;;4835:8;:15;4844:5;4835:15;;;;;;;;;;;;;;;;4825:6;:25;;4817:34;;;;;;;;4875:7;:14;4883:5;4875:14;;;;;;;;;;;;;;;:26;4890:10;4875:26;;;;;;;;;;;;;;;;4865:6;:36;;4857:45;;;;;;;;4927:27;4947:6;4927:8;:15;4936:5;4927:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4909:8;:15;4918:5;4909:15;;;;;;;;;;;;;;;:45;;;;4976:25;4994:6;4976:8;:13;4985:3;4976:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4960:8;:13;4969:3;4960:13;;;;;;;;;;;;;;;:41;;;;5036:38;5067:6;5036:7;:14;5044:5;5036:14;;;;;;;;;;;;;;;:26;5051:10;5036:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5007:7;:14;5015:5;5007:14;;;;;;;;;;;;;;;:26;5022:10;5007:26;;;;;;;;;;;;;;;:67;;;;5096:3;5080:28;;5089:5;5080:28;;;5101:6;5080:28;;;;;;;;;;;;;;;;;;5121:4;5114:11;;4691:439;;;;;:::o;6882:398::-;6965:4;6977:13;6993:7;:19;7001:10;6993:19;;;;;;;;;;;;;;;:29;7013:8;6993:29;;;;;;;;;;;;;;;;6977:45;;7051:8;7032:16;:27;7028:164;;;7101:1;7069:7;:19;7077:10;7069:19;;;;;;;;;;;;;;;:29;7089:8;7069:29;;;;;;;;;;;;;;;:33;;;;7028:164;;;7155:30;7168:16;7155:8;:12;;:30;;;;:::i;:::-;7123:7;:19;7131:10;7123:19;;;;;;;;;;;;;;;:29;7143:8;7123:29;;;;;;;;;;;;;;;:62;;;;7028:164;7218:8;7197:61;;7206:10;7197:61;;;7228:7;:19;7236:10;7228:19;;;;;;;;;;;;;;;:29;7248:8;7228:29;;;;;;;;;;;;;;;;7197:61;;;;;;;;;;;;;;;;;;7271:4;7264:11;;6882:398;;;;;:::o;3358:107::-;3414:15;3444:8;:16;3453:6;3444:16;;;;;;;;;;;;;;;;3437:23;;3358:107;;;:::o;2777:379::-;2840:4;2875:1;2860:17;;:3;:17;;;;2852:26;;;;;;;;2902:8;:20;2911:10;2902:20;;;;;;;;;;;;;;;;2892:6;:30;;2884:39;;;;;;;;3016:32;3041:6;3016:8;:20;3025:10;3016:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2993:8;:20;3002:10;2993:20;;;;;;;;;;;;;;;:55;;;;3070:25;3088:6;3070:8;:13;3079:3;3070:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3054:8;:13;3063:3;3054:13;;;;;;;;;;;;;;;:41;;;;3122:3;3101:33;;3110:10;3101:33;;;3127:6;3101:33;;;;;;;;;;;;;;;;;;3147:4;3140:11;;2777:379;;;;:::o;6621:257::-;6699:4;6743:46;6777:11;6743:7;:19;6751:10;6743:19;;;;;;;;;;;;;;;:29;6763:8;6743:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6711:7;:19;6719:10;6711:19;;;;;;;;;;;;;;;:29;6731:8;6711:29;;;;;;;;;;;;;;;:78;;;;6816:8;6795:61;;6804:10;6795:61;;;6826:7;:19;6834:10;6826:19;;;;;;;;;;;;;;;:29;6846:8;6826:29;;;;;;;;;;;;;;;;6795:61;;;;;;;;;;;;;;;;;;6869:4;6862:11;;6621:257;;;;:::o;6255:126::-;6329:7;6351;:15;6359:6;6351:15;;;;;;;;;;;;;;;:25;6367:8;6351:25;;;;;;;;;;;;;;;;6344:32;;6255:126;;;;:::o;2123:110::-;2181:7;2208:1;2203;:6;;2196:14;;;;;;2227:1;2223;:5;2216:12;;2123:110;;;;:::o;2237:129::-;2295:7;2310:9;2326:1;2322;:5;2310:17;;2345:1;2340;:6;;2333:14;;;;;;2360:1;2353:8;;2237:129;;;;;:::o", + "userdoc" : "{\"methods\":{\"increaseApproval(address,uint256)\":{\"notice\":\"approve should be called when allowed[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\"}}}" + } + }, + "sourceList" : [ "build/flattened/BRDToken.sol" ], + "sources" : { + "build/flattened/BRDToken.sol" : { + "AST" : { + "absolutePath" : "build/flattened/BRDToken.sol", + "exportedSymbols" : { + "BRDToken" : [ 701 ], + "BasicToken" : [ 260 ], + "ERC20" : [ 300 ], + "ERC20Basic" : [ 82 ], + "MintableToken" : [ 633 ], + "Ownable" : [ 55 ], + "SafeMath" : [ 178 ], + "StandardToken" : [ 542 ] + }, + "id" : 702, + "nodeType" : "SourceUnit", + "nodes" : [ + { + "id" : 1, + "literals" : [ "solidity", "^", "0.4", ".18" ], + "nodeType" : "PragmaDirective", + "src" : "0:24:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented" : true, + "id" : 55, + "linearizedBaseContracts" : [ 55 ], + "name" : "Ownable", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 3, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 55, + "src" : "291:20:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 2, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "291:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 9, + "name" : "OwnershipTransferred", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 8, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 5, + "indexed" : true, + "name" : "previousOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "344:29:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 4, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "344:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 7, + "indexed" : true, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 9, + "src" : "375:24:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 6, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "375:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "343:57:0" + }, + "src" : "317:84:0" + }, + { + "body" : { + "id" : 17, + "nodeType" : "Block", + "src" : "548:29:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 15, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 12, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "554:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 13, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "562:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 14, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "562:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "554:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 16, + "nodeType" : "ExpressionStatement", + "src" : "554:18:0" + } + ] + }, + "id" : 18, + "implemented" : true, + "isConstructor" : true, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "Ownable", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 10, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "538:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 11, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "548:0:0" + }, + "scope" : 55, + "src" : "522:55:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 28, + "nodeType" : "Block", + "src" : "679:46:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 24, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 21, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "693:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 22, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "693:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 23, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "707:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "693:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 20, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "685:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 25, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "685:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 26, + "nodeType" : "ExpressionStatement", + "src" : "685:28:0" + }, + { + "id" : 27, + "nodeType" : "PlaceholderStatement", + "src" : "719:1:0" + } + ] + }, + "id" : 29, + "name" : "onlyOwner", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 19, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "676:2:0" + }, + "src" : "658:67:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 53, + "nodeType" : "Block", + "src" : "949:107:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 41, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 37, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "963:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 39, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "983:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 38, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "975:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 40, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "975:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "963:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 36, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "955:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 42, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "955:31:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 43, + "nodeType" : "ExpressionStatement", + "src" : "955:31:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 45, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1013:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 46, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1020:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + ], + "id" : 44, + "name" : "OwnershipTransferred", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 9, + "src" : "992:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString" : "function (address,address)" + } + }, + "id" : 47, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "992:37:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 48, + "nodeType" : "ExpressionStatement", + "src" : "992:37:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 51, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 49, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "1035:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 50, + "name" : "newOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 31, + "src" : "1043:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "1035:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "id" : 52, + "nodeType" : "ExpressionStatement", + "src" : "1035:16:0" + } + ] + }, + "id" : 54, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 34, + "modifierName" : { + "argumentTypes" : null, + "id" : 33, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "939:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "939:9:0" + } + ], + "name" : "transferOwnership", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 32, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 31, + "name" : "newOwner", + "nodeType" : "VariableDeclaration", + "scope" : 54, + "src" : "914:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 30, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "914:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "913:18:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 35, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "949:0:0" + }, + "scope" : 55, + "src" : "887:169:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 702, + "src" : "270:789:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "contract", + "documentation" : "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented" : false, + "id" : 82, + "linearizedBaseContracts" : [ 82 ], + "name" : "ERC20Basic", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 57, + "name" : "totalSupply", + "nodeType" : "VariableDeclaration", + "scope" : 82, + "src" : "1270:26:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 56, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1270:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 64, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "balanceOf", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 60, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 59, + "name" : "who", + "nodeType" : "VariableDeclaration", + "scope" : 64, + "src" : "1319:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 58, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1319:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1318:13:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 63, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 62, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 64, + "src" : "1353:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 61, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1353:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1352:9:0" + }, + "scope" : 82, + "src" : "1300:62:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 73, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 69, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 66, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 73, + "src" : "1383:10:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 65, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1383:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 68, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 73, + "src" : "1395:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 67, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1395:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1382:27:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 72, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 71, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 73, + "src" : "1426:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 70, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "1426:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1425:6:0" + }, + "scope" : 82, + "src" : "1365:67:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 81, + "name" : "Transfer", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 80, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 75, + "indexed" : true, + "name" : "from", + "nodeType" : "VariableDeclaration", + "scope" : 81, + "src" : "1450:20:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 74, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1450:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 77, + "indexed" : true, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 81, + "src" : "1472:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 76, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "1472:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 79, + "indexed" : false, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 81, + "src" : "1492:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 78, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1492:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1449:57:0" + }, + "src" : "1435:72:0" + } + ], + "scope" : 702, + "src" : "1246:263:0" + }, + { + "baseContracts" : [], + "contractDependencies" : [], + "contractKind" : "library", + "documentation" : "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented" : true, + "id" : 178, + "linearizedBaseContracts" : [ 178 ], + "name" : "SafeMath", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "body" : { + "id" : 114, + "nodeType" : "Block", + "src" : "1744:106:0", + "statements" : [ + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 93, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 91, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 84, + "src" : "1754:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 92, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "1759:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "1754:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : null, + "id" : 97, + "nodeType" : "IfStatement", + "src" : "1750:35:0", + "trueBody" : { + "id" : 96, + "nodeType" : "Block", + "src" : "1762:23:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 94, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "1777:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "functionReturnParameters" : 90, + "id" : 95, + "nodeType" : "Return", + "src" : "1770:8:0" + } + ] + } + }, + { + "assignments" : [ 99 ], + "declarations" : [ + { + "constant" : false, + "id" : 99, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 115, + "src" : "1790:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 98, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1790:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 103, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 102, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 100, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 84, + "src" : "1802:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "*", + "rightExpression" : { + "argumentTypes" : null, + "id" : 101, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 86, + "src" : "1806:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1802:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "1790:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 109, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 107, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 105, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 99, + "src" : "1820:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 106, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 84, + "src" : "1824:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1820:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 108, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 86, + "src" : "1829:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "1820:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 104, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 704, + "src" : "1813:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 110, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "1813:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 111, + "nodeType" : "ExpressionStatement", + "src" : "1813:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 112, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 99, + "src" : "1844:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 90, + "id" : 113, + "nodeType" : "Return", + "src" : "1837:8:0" + } + ] + }, + "id" : 115, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "mul", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 87, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 84, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 115, + "src" : "1690:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 83, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1690:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 86, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 115, + "src" : "1701:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 85, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1701:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1689:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 90, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 89, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 115, + "src" : "1735:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 88, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1735:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1734:9:0" + }, + "scope" : 178, + "src" : "1677:173:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 132, + "nodeType" : "Block", + "src" : "1921:198:0", + "statements" : [ + { + "assignments" : [ 125 ], + "declarations" : [ + { + "constant" : false, + "id" : 125, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 133, + "src" : "2001:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 124, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2001:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 129, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 128, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 126, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 117, + "src" : "2013:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "/", + "rightExpression" : { + "argumentTypes" : null, + "id" : 127, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 119, + "src" : "2017:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2013:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "2001:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 130, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 125, + "src" : "2113:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 123, + "id" : 131, + "nodeType" : "Return", + "src" : "2106:8:0" + } + ] + }, + "id" : 133, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "div", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 120, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 117, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 133, + "src" : "1867:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 116, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1867:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 119, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 133, + "src" : "1878:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 118, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1878:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1866:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 123, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 122, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 133, + "src" : "1912:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 121, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "1912:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "1911:9:0" + }, + "scope" : 178, + "src" : "1854:265:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 152, + "nodeType" : "Block", + "src" : "2190:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 145, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 143, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 137, + "src" : "2203:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 144, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 135, + "src" : "2208:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2203:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 142, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 704, + "src" : "2196:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 146, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2196:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 147, + "nodeType" : "ExpressionStatement", + "src" : "2196:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 150, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 148, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 135, + "src" : "2223:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "-", + "rightExpression" : { + "argumentTypes" : null, + "id" : 149, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 137, + "src" : "2227:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2223:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 141, + "id" : 151, + "nodeType" : "Return", + "src" : "2216:12:0" + } + ] + }, + "id" : 153, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "sub", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 138, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 135, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 153, + "src" : "2136:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 134, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2136:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 137, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 153, + "src" : "2147:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 136, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2147:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2135:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 141, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 140, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 153, + "src" : "2181:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 139, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2181:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2180:9:0" + }, + "scope" : 178, + "src" : "2123:110:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 176, + "nodeType" : "Block", + "src" : "2304:62:0", + "statements" : [ + { + "assignments" : [ 163 ], + "declarations" : [ + { + "constant" : false, + "id" : 163, + "name" : "c", + "nodeType" : "VariableDeclaration", + "scope" : 177, + "src" : "2310:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 162, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2310:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 167, + "initialValue" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 166, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 164, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 155, + "src" : "2322:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "+", + "rightExpression" : { + "argumentTypes" : null, + "id" : 165, + "name" : "b", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 157, + "src" : "2326:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2322:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "2310:17:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 171, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 169, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 163, + "src" : "2340:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">=", + "rightExpression" : { + "argumentTypes" : null, + "id" : 170, + "name" : "a", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 155, + "src" : "2345:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2340:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 168, + "name" : "assert", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 704, + "src" : "2333:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_assert_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 172, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2333:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 173, + "nodeType" : "ExpressionStatement", + "src" : "2333:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 174, + "name" : "c", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 163, + "src" : "2360:1:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 161, + "id" : 175, + "nodeType" : "Return", + "src" : "2353:8:0" + } + ] + }, + "id" : 177, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "add", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 158, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 155, + "name" : "a", + "nodeType" : "VariableDeclaration", + "scope" : 177, + "src" : "2250:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 154, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2250:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 157, + "name" : "b", + "nodeType" : "VariableDeclaration", + "scope" : 177, + "src" : "2261:9:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 156, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2261:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2249:22:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 161, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 160, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 177, + "src" : "2295:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 159, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2295:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2294:9:0" + }, + "scope" : 178, + "src" : "2237:129:0", + "stateMutability" : "pure", + "superFunction" : null, + "visibility" : "internal" + } + ], + "scope" : 702, + "src" : "1656:712:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 179, + "name" : "ERC20Basic", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 82, + "src" : "2540:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20Basic_$82", + "typeString" : "contract ERC20Basic" + } + }, + "id" : 180, + "nodeType" : "InheritanceSpecifier", + "src" : "2540:10:0" + } + ], + "contractDependencies" : [ 82 ], + "contractKind" : "contract", + "documentation" : "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented" : true, + "id" : 260, + "linearizedBaseContracts" : [ 260, 82 ], + "name" : "BasicToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 183, + "libraryName" : { + "contractScope" : null, + "id" : 181, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 178, + "src" : "2561:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$178", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "2555:27:0", + "typeName" : { + "id" : 182, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2574:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 187, + "name" : "balances", + "nodeType" : "VariableDeclaration", + "scope" : 260, + "src" : "2586:36:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "typeName" : { + "id" : 186, + "keyType" : { + "id" : 184, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2594:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "2586:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "valueType" : { + "id" : 185, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2605:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 246, + "nodeType" : "Block", + "src" : "2846:310:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 201, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 197, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 189, + "src" : "2860:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 199, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "2875:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 198, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "2867:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 200, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2867:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "2860:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 196, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "2852:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 202, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2852:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 203, + "nodeType" : "ExpressionStatement", + "src" : "2852:26:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 210, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 205, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "2892:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 206, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "2902:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 209, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 207, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "2911:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 208, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "2911:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "2902:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2892:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 204, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "2884:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 211, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "2884:39:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 212, + "nodeType" : "ExpressionStatement", + "src" : "2884:39:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 224, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 213, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "2993:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 216, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 214, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "3002:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 215, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3002:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "2993:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 222, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "3041:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 217, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "3016:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 220, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 218, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "3025:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 219, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3025:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3016:20:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 221, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 153, + "src" : "3016:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 223, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3016:32:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "2993:55:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 225, + "nodeType" : "ExpressionStatement", + "src" : "2993:55:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 235, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 226, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "3054:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 228, + "indexExpression" : { + "argumentTypes" : null, + "id" : 227, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 189, + "src" : "3063:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "3054:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 233, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "3088:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 229, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "3070:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 231, + "indexExpression" : { + "argumentTypes" : null, + "id" : 230, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 189, + "src" : "3079:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3070:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 232, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 177, + "src" : "3070:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 234, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3070:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "3054:41:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 236, + "nodeType" : "ExpressionStatement", + "src" : "3054:41:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 238, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "3110:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 239, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "3110:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 240, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 189, + "src" : "3122:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 241, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 191, + "src" : "3127:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 237, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 81, + "src" : "3101:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 242, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "3101:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 243, + "nodeType" : "ExpressionStatement", + "src" : "3101:33:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 244, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "3147:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 195, + "id" : 245, + "nodeType" : "Return", + "src" : "3140:11:0" + } + ] + }, + "id" : 247, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 192, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 189, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "2795:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 188, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "2795:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 191, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "2808:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 190, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "2808:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2794:29:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 195, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 194, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 247, + "src" : "2840:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 193, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "2840:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "2839:6:0" + }, + "scope" : 260, + "src" : "2777:379:0", + "stateMutability" : "nonpayable", + "superFunction" : 73, + "visibility" : "public" + }, + { + "body" : { + "id" : 258, + "nodeType" : "Block", + "src" : "3431:34:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 254, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "3444:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 256, + "indexExpression" : { + "argumentTypes" : null, + "id" : 255, + "name" : "_owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 249, + "src" : "3453:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "3444:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 253, + "id" : 257, + "nodeType" : "Return", + "src" : "3437:23:0" + } + ] + }, + "id" : 259, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "balanceOf", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 250, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 249, + "name" : "_owner", + "nodeType" : "VariableDeclaration", + "scope" : 259, + "src" : "3377:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 248, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3377:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3376:16:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 253, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 252, + "name" : "balance", + "nodeType" : "VariableDeclaration", + "scope" : 259, + "src" : "3414:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 251, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3414:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3413:17:0" + }, + "scope" : 260, + "src" : "3358:107:0", + "stateMutability" : "view", + "superFunction" : 64, + "visibility" : "public" + } + ], + "scope" : 702, + "src" : "2517:951:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 261, + "name" : "ERC20Basic", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 82, + "src" : "3629:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20Basic_$82", + "typeString" : "contract ERC20Basic" + } + }, + "id" : 262, + "nodeType" : "InheritanceSpecifier", + "src" : "3629:10:0" + } + ], + "contractDependencies" : [ 82 ], + "contractKind" : "contract", + "documentation" : "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented" : false, + "id" : 300, + "linearizedBaseContracts" : [ 300, 82 ], + "name" : "ERC20", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "body" : null, + "id" : 271, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allowance", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 267, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 264, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "3663:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 263, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3663:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 266, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "3678:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 265, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3678:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3662:32:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 270, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 269, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 271, + "src" : "3716:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 268, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3716:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3715:9:0" + }, + "scope" : 300, + "src" : "3644:81:0", + "stateMutability" : "view", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 282, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 278, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 273, + "name" : "from", + "nodeType" : "VariableDeclaration", + "scope" : 282, + "src" : "3750:12:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 272, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3750:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 275, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 282, + "src" : "3764:10:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 274, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3764:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 277, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 282, + "src" : "3776:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 276, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3776:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3749:41:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 281, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 280, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 282, + "src" : "3807:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 279, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3807:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3806:6:0" + }, + "scope" : 300, + "src" : "3728:85:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : null, + "id" : 291, + "implemented" : false, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "approve", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 287, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 284, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 291, + "src" : "3833:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 283, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3833:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 286, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 291, + "src" : "3850:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 285, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3850:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3832:32:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 290, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 289, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 291, + "src" : "3881:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 288, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "3881:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3880:6:0" + }, + "scope" : 300, + "src" : "3816:71:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "anonymous" : false, + "id" : 299, + "name" : "Approval", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 298, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 293, + "indexed" : true, + "name" : "owner", + "nodeType" : "VariableDeclaration", + "scope" : 299, + "src" : "3905:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 292, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3905:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 295, + "indexed" : true, + "name" : "spender", + "nodeType" : "VariableDeclaration", + "scope" : 299, + "src" : "3928:23:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 294, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "3928:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 297, + "indexed" : false, + "name" : "value", + "nodeType" : "VariableDeclaration", + "scope" : 299, + "src" : "3953:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 296, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "3953:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "3904:63:0" + }, + "src" : "3890:78:0" + } + ], + "scope" : 702, + "src" : "3611:359:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 301, + "name" : "ERC20", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 300, + "src" : "4325:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_ERC20_$300", + "typeString" : "contract ERC20" + } + }, + "id" : 302, + "nodeType" : "InheritanceSpecifier", + "src" : "4325:5:0" + }, + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 303, + "name" : "BasicToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 260, + "src" : "4332:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_BasicToken_$260", + "typeString" : "contract BasicToken" + } + }, + "id" : 304, + "nodeType" : "InheritanceSpecifier", + "src" : "4332:10:0" + } + ], + "contractDependencies" : [ 82, 260, 300 ], + "contractKind" : "contract", + "documentation" : "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented" : true, + "id" : 542, + "linearizedBaseContracts" : [ 542, 260, 300, 82 ], + "name" : "StandardToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "constant" : false, + "id" : 310, + "name" : "allowed", + "nodeType" : "VariableDeclaration", + "scope" : 542, + "src" : "4348:66:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + }, + "typeName" : { + "id" : 309, + "keyType" : { + "id" : 305, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "4357:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "4348:49:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + }, + "valueType" : { + "id" : 308, + "keyType" : { + "id" : 306, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "4377:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "Mapping", + "src" : "4368:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + }, + "valueType" : { + "id" : 307, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4388:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "body" : { + "id" : 395, + "nodeType" : "Block", + "src" : "4779:351:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 326, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 322, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 314, + "src" : "4793:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "!=", + "rightExpression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 324, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "4808:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 323, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "4800:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 325, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4800:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "4793:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 321, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "4785:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 327, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4785:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 328, + "nodeType" : "ExpressionStatement", + "src" : "4785:26:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 334, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 330, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "4825:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 331, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "4835:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 333, + "indexExpression" : { + "argumentTypes" : null, + "id" : 332, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "4844:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4835:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4825:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 329, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "4817:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 335, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4817:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 336, + "nodeType" : "ExpressionStatement", + "src" : "4817:34:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 345, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 338, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "4865:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "<=", + "rightExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 339, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "4875:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 341, + "indexExpression" : { + "argumentTypes" : null, + "id" : 340, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "4883:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4875:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 344, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 342, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "4890:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 343, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "4890:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4875:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4865:36:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 337, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "4857:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 346, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4857:45:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 347, + "nodeType" : "ExpressionStatement", + "src" : "4857:45:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 357, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 348, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "4909:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 350, + "indexExpression" : { + "argumentTypes" : null, + "id" : 349, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "4918:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "4909:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 355, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "4947:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 351, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "4927:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 353, + "indexExpression" : { + "argumentTypes" : null, + "id" : 352, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "4936:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4927:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 354, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 153, + "src" : "4927:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 356, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4927:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4909:45:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 358, + "nodeType" : "ExpressionStatement", + "src" : "4909:45:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 368, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 359, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "4960:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 361, + "indexExpression" : { + "argumentTypes" : null, + "id" : 360, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 314, + "src" : "4969:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "4960:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 366, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "4994:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 362, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "4976:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 364, + "indexExpression" : { + "argumentTypes" : null, + "id" : 363, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 314, + "src" : "4985:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "4976:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 365, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 177, + "src" : "4976:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 367, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "4976:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "4960:41:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 369, + "nodeType" : "ExpressionStatement", + "src" : "4960:41:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 385, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 370, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "5007:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 374, + "indexExpression" : { + "argumentTypes" : null, + "id" : 371, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "5015:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5007:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 375, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 372, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "5022:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 373, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "5022:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "5007:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 383, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "5067:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 376, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "5036:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 378, + "indexExpression" : { + "argumentTypes" : null, + "id" : 377, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "5044:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5036:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 381, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 379, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "5051:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 380, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "5051:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5036:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 382, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 153, + "src" : "5036:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 384, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "5036:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5007:67:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 386, + "nodeType" : "ExpressionStatement", + "src" : "5007:67:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 388, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 312, + "src" : "5089:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 389, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 314, + "src" : "5096:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 390, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 316, + "src" : "5101:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 387, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 81, + "src" : "5080:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 391, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "5080:28:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 392, + "nodeType" : "ExpressionStatement", + "src" : "5080:28:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 393, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "5121:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 320, + "id" : 394, + "nodeType" : "Return", + "src" : "5114:11:0" + } + ] + }, + "id" : 396, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 317, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 312, + "name" : "_from", + "nodeType" : "VariableDeclaration", + "scope" : 396, + "src" : "4713:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 311, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "4713:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 314, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 396, + "src" : "4728:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 313, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "4728:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 316, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 396, + "src" : "4741:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 315, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "4741:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4712:44:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 320, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 319, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 396, + "src" : "4773:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 318, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "4773:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "4772:6:0" + }, + "scope" : 542, + "src" : "4691:439:0", + "stateMutability" : "nonpayable", + "superFunction" : 282, + "visibility" : "public" + }, + { + "body" : { + "id" : 423, + "nodeType" : "Block", + "src" : "5826:110:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 412, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 405, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "5832:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 409, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 406, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "5840:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 407, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "5840:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "5832:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 410, + "indexExpression" : { + "argumentTypes" : null, + "id" : 408, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 398, + "src" : "5852:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "5832:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "id" : 411, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 400, + "src" : "5864:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "5832:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 413, + "nodeType" : "ExpressionStatement", + "src" : "5832:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 415, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "5885:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 416, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "5885:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 417, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 398, + "src" : "5897:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 418, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 400, + "src" : "5907:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 414, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "5876:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 419, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "5876:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 420, + "nodeType" : "ExpressionStatement", + "src" : "5876:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 421, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "5927:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 404, + "id" : 422, + "nodeType" : "Return", + "src" : "5920:11:0" + } + ] + }, + "id" : 424, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "approve", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 401, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 398, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 424, + "src" : "5770:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 397, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "5770:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 400, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 424, + "src" : "5788:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 399, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "5788:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5769:34:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 404, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 403, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 424, + "src" : "5820:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 402, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "5820:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "5819:6:0" + }, + "scope" : 542, + "src" : "5753:183:0", + "stateMutability" : "nonpayable", + "superFunction" : 291, + "visibility" : "public" + }, + { + "body" : { + "id" : 439, + "nodeType" : "Block", + "src" : "6338:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 433, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "6351:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 435, + "indexExpression" : { + "argumentTypes" : null, + "id" : 434, + "name" : "_owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 426, + "src" : "6359:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6351:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 437, + "indexExpression" : { + "argumentTypes" : null, + "id" : 436, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 428, + "src" : "6367:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6351:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "functionReturnParameters" : 432, + "id" : 438, + "nodeType" : "Return", + "src" : "6344:32:0" + } + ] + }, + "id" : 440, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : true, + "modifiers" : [], + "name" : "allowance", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 429, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 426, + "name" : "_owner", + "nodeType" : "VariableDeclaration", + "scope" : 440, + "src" : "6274:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 425, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "6274:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 428, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 440, + "src" : "6290:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 427, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "6290:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6273:34:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 432, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 431, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 440, + "src" : "6329:7:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 430, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "6329:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6328:9:0" + }, + "scope" : 542, + "src" : "6255:126:0", + "stateMutability" : "view", + "superFunction" : 271, + "visibility" : "public" + }, + { + "body" : { + "id" : 480, + "nodeType" : "Block", + "src" : "6705:173:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 464, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 449, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "6711:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 453, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 450, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "6719:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 451, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6719:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6711:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 454, + "indexExpression" : { + "argumentTypes" : null, + "id" : 452, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 442, + "src" : "6731:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "6711:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 462, + "name" : "_addedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 444, + "src" : "6777:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 455, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "6743:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 458, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 456, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "6751:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 457, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6751:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6743:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 460, + "indexExpression" : { + "argumentTypes" : null, + "id" : 459, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 442, + "src" : "6763:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6743:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 461, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 177, + "src" : "6743:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 463, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6743:46:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "6711:78:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 465, + "nodeType" : "ExpressionStatement", + "src" : "6711:78:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 467, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "6804:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 468, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6804:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 469, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 442, + "src" : "6816:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 470, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "6826:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 473, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 471, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "6834:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 472, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "6834:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6826:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 475, + "indexExpression" : { + "argumentTypes" : null, + "id" : 474, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 442, + "src" : "6846:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6826:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 466, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "6795:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 476, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "6795:61:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 477, + "nodeType" : "ExpressionStatement", + "src" : "6795:61:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 478, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "6869:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 448, + "id" : 479, + "nodeType" : "Return", + "src" : "6862:11:0" + } + ] + }, + "id" : 481, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "increaseApproval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 445, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 442, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 481, + "src" : "6647:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 441, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "6647:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 444, + "name" : "_addedValue", + "nodeType" : "VariableDeclaration", + "scope" : 481, + "src" : "6665:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 443, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "6665:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6646:36:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 448, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 447, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 481, + "src" : "6699:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 446, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "6699:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6698:6:0" + }, + "scope" : 542, + "src" : "6621:257:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 540, + "nodeType" : "Block", + "src" : "6971:309:0", + "statements" : [ + { + "assignments" : [ 491 ], + "declarations" : [ + { + "constant" : false, + "id" : 491, + "name" : "oldValue", + "nodeType" : "VariableDeclaration", + "scope" : 541, + "src" : "6977:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 490, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "6977:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "id" : 498, + "initialValue" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 492, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "6993:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 495, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 493, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "7001:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 494, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7001:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6993:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 497, + "indexExpression" : { + "argumentTypes" : null, + "id" : 496, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 483, + "src" : "7013:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "6993:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "VariableDeclarationStatement", + "src" : "6977:45:0" + }, + { + "condition" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "id" : 501, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 499, + "name" : "_subtractedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 485, + "src" : "7032:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "BinaryOperation", + "operator" : ">", + "rightExpression" : { + "argumentTypes" : null, + "id" : 500, + "name" : "oldValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 491, + "src" : "7051:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7032:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "falseBody" : { + "id" : 524, + "nodeType" : "Block", + "src" : "7115:77:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 522, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 512, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "7123:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 516, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 513, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "7131:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 514, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7131:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7123:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 517, + "indexExpression" : { + "argumentTypes" : null, + "id" : 515, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 483, + "src" : "7143:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "7123:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 520, + "name" : "_subtractedValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 485, + "src" : "7168:16:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 518, + "name" : "oldValue", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 491, + "src" : "7155:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 519, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sub", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 153, + "src" : "7155:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 521, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "7155:30:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "7123:62:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 523, + "nodeType" : "ExpressionStatement", + "src" : "7123:62:0" + } + ] + }, + "id" : 525, + "nodeType" : "IfStatement", + "src" : "7028:164:0", + "trueBody" : { + "id" : 511, + "nodeType" : "Block", + "src" : "7061:48:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 509, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 502, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "7069:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 506, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 503, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "7077:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 504, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7077:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7069:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 507, + "indexExpression" : { + "argumentTypes" : null, + "id" : 505, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 483, + "src" : "7089:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "7069:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 508, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "7101:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + }, + "src" : "7069:33:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 510, + "nodeType" : "ExpressionStatement", + "src" : "7069:33:0" + } + ] + } + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 527, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "7206:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 528, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7206:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 529, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 483, + "src" : "7218:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 530, + "name" : "allowed", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 310, + "src" : "7228:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString" : "mapping(address => mapping(address => uint256))" + } + }, + "id" : 533, + "indexExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 531, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "7236:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 532, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "7236:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7228:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 535, + "indexExpression" : { + "argumentTypes" : null, + "id" : 534, + "name" : "_spender", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 483, + "src" : "7248:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "7228:29:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 526, + "name" : "Approval", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 299, + "src" : "7197:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 536, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "7197:61:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 537, + "nodeType" : "ExpressionStatement", + "src" : "7197:61:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 538, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "7271:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 489, + "id" : 539, + "nodeType" : "Return", + "src" : "7264:11:0" + } + ] + }, + "id" : 541, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "decreaseApproval", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 486, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 483, + "name" : "_spender", + "nodeType" : "VariableDeclaration", + "scope" : 541, + "src" : "6908:16:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 482, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "6908:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 485, + "name" : "_subtractedValue", + "nodeType" : "VariableDeclaration", + "scope" : 541, + "src" : "6926:21:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 484, + "name" : "uint", + "nodeType" : "ElementaryTypeName", + "src" : "6926:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6907:41:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 489, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 488, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 541, + "src" : "6965:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 487, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "6965:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "6964:6:0" + }, + "scope" : 542, + "src" : "6882:398:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 702, + "src" : "4299:2984:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 543, + "name" : "StandardToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 542, + "src" : "7662:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_StandardToken_$542", + "typeString" : "contract StandardToken" + } + }, + "id" : 544, + "nodeType" : "InheritanceSpecifier", + "src" : "7662:13:0" + }, + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 545, + "name" : "Ownable", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 55, + "src" : "7677:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_Ownable_$55", + "typeString" : "contract Ownable" + } + }, + "id" : 546, + "nodeType" : "InheritanceSpecifier", + "src" : "7677:7:0" + } + ], + "contractDependencies" : [ 55, 82, 260, 300, 542 ], + "contractKind" : "contract", + "documentation" : "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", + "fullyImplemented" : true, + "id" : 633, + "linearizedBaseContracts" : [ 633, 55, 542, 260, 300, 82 ], + "name" : "MintableToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "anonymous" : false, + "id" : 552, + "name" : "Mint", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 551, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 548, + "indexed" : true, + "name" : "to", + "nodeType" : "VariableDeclaration", + "scope" : 552, + "src" : "7700:18:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 547, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "7700:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 550, + "indexed" : false, + "name" : "amount", + "nodeType" : "VariableDeclaration", + "scope" : 552, + "src" : "7720:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 549, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "7720:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "7699:36:0" + }, + "src" : "7689:47:0" + }, + { + "anonymous" : false, + "id" : 554, + "name" : "MintFinished", + "nodeType" : "EventDefinition", + "parameters" : { + "id" : 553, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "7757:2:0" + }, + "src" : "7739:21:0" + }, + { + "constant" : false, + "id" : 557, + "name" : "mintingFinished", + "nodeType" : "VariableDeclaration", + "scope" : 633, + "src" : "7764:35:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 555, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "7764:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "66616c7365", + "id" : 556, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "7794:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "false" + }, + "visibility" : "public" + }, + { + "body" : { + "id" : 565, + "nodeType" : "Block", + "src" : "7824:43:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 561, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "UnaryOperation", + "operator" : "!", + "prefix" : true, + "src" : "7838:16:0", + "subExpression" : { + "argumentTypes" : null, + "id" : 560, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 557, + "src" : "7839:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 559, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "7830:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 562, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "7830:25:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 563, + "nodeType" : "ExpressionStatement", + "src" : "7830:25:0" + }, + { + "id" : 564, + "nodeType" : "PlaceholderStatement", + "src" : "7861:1:0" + } + ] + }, + "id" : 566, + "name" : "canMint", + "nodeType" : "ModifierDefinition", + "parameters" : { + "id" : 558, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "7821:2:0" + }, + "src" : "7805:62:0", + "visibility" : "internal" + }, + { + "body" : { + "id" : 612, + "nodeType" : "Block", + "src" : "8187:178:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 584, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 579, + "name" : "totalSupply", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 57, + "src" : "8193:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 582, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 570, + "src" : "8223:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 580, + "name" : "totalSupply", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 57, + "src" : "8207:11:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 581, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 177, + "src" : "8207:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 583, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8207:24:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8193:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 585, + "nodeType" : "ExpressionStatement", + "src" : "8193:38:0" + }, + { + "expression" : { + "argumentTypes" : null, + "id" : 595, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 586, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "8237:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 588, + "indexExpression" : { + "argumentTypes" : null, + "id" : 587, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 568, + "src" : "8246:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : true, + "nodeType" : "IndexAccess", + "src" : "8237:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 593, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 570, + "src" : "8271:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "baseExpression" : { + "argumentTypes" : null, + "id" : 589, + "name" : "balances", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 187, + "src" : "8253:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$", + "typeString" : "mapping(address => uint256)" + } + }, + "id" : 591, + "indexExpression" : { + "argumentTypes" : null, + "id" : 590, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 568, + "src" : "8262:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "isConstant" : false, + "isLValue" : true, + "isPure" : false, + "lValueRequested" : false, + "nodeType" : "IndexAccess", + "src" : "8253:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 592, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "add", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 177, + "src" : "8253:17:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString" : "function (uint256,uint256) pure returns (uint256)" + } + }, + "id" : 594, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8253:26:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "src" : "8237:42:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "id" : 596, + "nodeType" : "ExpressionStatement", + "src" : "8237:42:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 598, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 568, + "src" : "8290:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 599, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 570, + "src" : "8295:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 597, + "name" : "Mint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 552, + "src" : "8285:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,uint256)" + } + }, + "id" : 600, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8285:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 601, + "nodeType" : "ExpressionStatement", + "src" : "8285:18:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "hexValue" : "30", + "id" : 604, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8326:1:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + }, + "value" : "0" + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_rational_0_by_1", + "typeString" : "int_const 0" + } + ], + "id" : 603, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "lValueRequested" : false, + "nodeType" : "ElementaryTypeNameExpression", + "src" : "8318:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_type$_t_address_$", + "typeString" : "type(address)" + }, + "typeName" : "address" + }, + "id" : 605, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "typeConversion", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8318:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 606, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 568, + "src" : "8330:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 607, + "name" : "_amount", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 570, + "src" : "8335:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "id" : 602, + "name" : "Transfer", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 81, + "src" : "8309:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString" : "function (address,address,uint256)" + } + }, + "id" : 608, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8309:34:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 609, + "nodeType" : "ExpressionStatement", + "src" : "8309:34:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 610, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8356:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 578, + "id" : 611, + "nodeType" : "Return", + "src" : "8349:11:0" + } + ] + }, + "id" : 613, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 573, + "modifierName" : { + "argumentTypes" : null, + "id" : 572, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "8147:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "8147:9:0" + }, + { + "arguments" : [], + "id" : 575, + "modifierName" : { + "argumentTypes" : null, + "id" : 574, + "name" : "canMint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 566, + "src" : "8157:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "8157:7:0" + } + ], + "name" : "mint", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 571, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 568, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 613, + "src" : "8117:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 567, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "8117:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 570, + "name" : "_amount", + "nodeType" : "VariableDeclaration", + "scope" : 613, + "src" : "8130:15:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 569, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8130:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "8116:30:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 578, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 577, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 613, + "src" : "8181:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 576, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "8181:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "8180:6:0" + }, + "scope" : 633, + "src" : "8103:262:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + }, + { + "body" : { + "id" : 631, + "nodeType" : "Block", + "src" : "8544:70:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "id" : 624, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftHandSide" : { + "argumentTypes" : null, + "id" : 622, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 557, + "src" : "8550:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "Assignment", + "operator" : "=", + "rightHandSide" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 623, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8568:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "src" : "8550:22:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "id" : 625, + "nodeType" : "ExpressionStatement", + "src" : "8550:22:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [], + "expression" : { + "argumentTypes" : [], + "id" : 626, + "name" : "MintFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 554, + "src" : "8578:12:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_event_nonpayable$__$returns$__$", + "typeString" : "function ()" + } + }, + "id" : 627, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "8578:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 628, + "nodeType" : "ExpressionStatement", + "src" : "8578:14:0" + }, + { + "expression" : { + "argumentTypes" : null, + "hexValue" : "74727565", + "id" : 629, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "bool", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8605:4:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "value" : "true" + }, + "functionReturnParameters" : 621, + "id" : 630, + "nodeType" : "Return", + "src" : "8598:11:0" + } + ] + }, + "id" : 632, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [ + { + "arguments" : [], + "id" : 616, + "modifierName" : { + "argumentTypes" : null, + "id" : 615, + "name" : "onlyOwner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 29, + "src" : "8504:9:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "8504:9:0" + }, + { + "arguments" : [], + "id" : 618, + "modifierName" : { + "argumentTypes" : null, + "id" : 617, + "name" : "canMint", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 566, + "src" : "8514:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_modifier$__$", + "typeString" : "modifier ()" + } + }, + "nodeType" : "ModifierInvocation", + "src" : "8514:7:0" + } + ], + "name" : "finishMinting", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 614, + "nodeType" : "ParameterList", + "parameters" : [], + "src" : "8501:2:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 621, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 620, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 632, + "src" : "8538:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 619, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "8538:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "8537:6:0" + }, + "scope" : 633, + "src" : "8479:135:0", + "stateMutability" : "nonpayable", + "superFunction" : null, + "visibility" : "public" + } + ], + "scope" : 702, + "src" : "7636:980:0" + }, + { + "baseContracts" : [ + { + "arguments" : [], + "baseName" : { + "contractScope" : null, + "id" : 634, + "name" : "MintableToken", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 633, + "src" : "8672:13:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_MintableToken_$633", + "typeString" : "contract MintableToken" + } + }, + "id" : 635, + "nodeType" : "InheritanceSpecifier", + "src" : "8672:13:0" + } + ], + "contractDependencies" : [ 55, 82, 260, 300, 542, 633 ], + "contractKind" : "contract", + "documentation" : null, + "fullyImplemented" : true, + "id" : 701, + "linearizedBaseContracts" : [ 701, 633, 55, 542, 260, 300, 82 ], + "name" : "BRDToken", + "nodeType" : "ContractDefinition", + "nodes" : [ + { + "id" : 638, + "libraryName" : { + "contractScope" : null, + "id" : 636, + "name" : "SafeMath", + "nodeType" : "UserDefinedTypeName", + "referencedDeclaration" : 178, + "src" : "8696:8:0", + "typeDescriptions" : { + "typeIdentifier" : "t_contract$_SafeMath_$178", + "typeString" : "library SafeMath" + } + }, + "nodeType" : "UsingForDirective", + "src" : "8690:27:0", + "typeName" : { + "id" : 637, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8709:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + }, + { + "constant" : false, + "id" : 641, + "name" : "name", + "nodeType" : "VariableDeclaration", + "scope" : 701, + "src" : "8721:34:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage", + "typeString" : "string storage ref" + }, + "typeName" : { + "id" : 639, + "name" : "string", + "nodeType" : "ElementaryTypeName", + "src" : "8721:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage_ptr", + "typeString" : "string storage pointer" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "427265616420546f6b656e", + "id" : 640, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "string", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8742:13:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_stringliteral_c027438703e880313c11a1a592d2072c90cccf42f5089eb1df248d426134b39b", + "typeString" : "literal_string \"Bread Token\"" + }, + "value" : "Bread Token" + }, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 644, + "name" : "symbol", + "nodeType" : "VariableDeclaration", + "scope" : 701, + "src" : "8759:28:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage", + "typeString" : "string storage ref" + }, + "typeName" : { + "id" : 642, + "name" : "string", + "nodeType" : "ElementaryTypeName", + "src" : "8759:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_string_storage_ptr", + "typeString" : "string storage pointer" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "425244", + "id" : 643, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "string", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8782:5:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_stringliteral_43348d2cc956a00a1fa7b1c9572536dc5eded31466d676d9b7ee4f7297c1f58e", + "typeString" : "literal_string \"BRD\"" + }, + "value" : "BRD" + }, + "visibility" : "public" + }, + { + "constant" : false, + "id" : 647, + "name" : "decimals", + "nodeType" : "VariableDeclaration", + "scope" : 701, + "src" : "8791:28:0", + "stateVariable" : true, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 645, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8791:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : { + "argumentTypes" : null, + "hexValue" : "3138", + "id" : 646, + "isConstant" : false, + "isLValue" : false, + "isPure" : true, + "kind" : "number", + "lValueRequested" : false, + "nodeType" : "Literal", + "src" : "8817:2:0", + "subdenomination" : null, + "typeDescriptions" : { + "typeIdentifier" : "t_rational_18_by_1", + "typeString" : "int_const 18" + }, + "value" : "18" + }, + "visibility" : "public" + }, + { + "body" : { + "id" : 674, + "nodeType" : "Block", + "src" : "9033:109:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 664, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 659, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 557, + "src" : "9047:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 663, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 660, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "9066:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 661, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "9066:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 662, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "9080:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "9066:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "9047:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 658, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "9039:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 665, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9039:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 666, + "nodeType" : "ExpressionStatement", + "src" : "9039:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 669, + "name" : "_from", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 649, + "src" : "9118:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 670, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 651, + "src" : "9125:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 671, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 653, + "src" : "9130:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 667, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 739, + "src" : "9099:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDToken_$701", + "typeString" : "contract super BRDToken" + } + }, + "id" : 668, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transferFrom", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 396, + "src" : "9099:18:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,address,uint256) returns (bool)" + } + }, + "id" : 672, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9099:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 657, + "id" : 673, + "nodeType" : "Return", + "src" : "9092:45:0" + } + ] + }, + "id" : 675, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transferFrom", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 654, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 649, + "name" : "_from", + "nodeType" : "VariableDeclaration", + "scope" : 675, + "src" : "8967:13:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 648, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "8967:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 651, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 675, + "src" : "8982:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 650, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "8982:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 653, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 675, + "src" : "8995:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 652, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "8995:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "8966:44:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 657, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 656, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 675, + "src" : "9027:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 655, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "9027:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9026:6:0" + }, + "scope" : 701, + "src" : "8945:197:0", + "stateMutability" : "nonpayable", + "superFunction" : 396, + "visibility" : "public" + }, + { + "body" : { + "id" : 699, + "nodeType" : "Block", + "src" : "9331:98:0", + "statements" : [ + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "id" : 690, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "id" : 685, + "name" : "mintingFinished", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 557, + "src" : "9345:15:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "||", + "rightExpression" : { + "argumentTypes" : null, + "commonType" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "id" : 689, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "leftExpression" : { + "argumentTypes" : null, + "expression" : { + "argumentTypes" : null, + "id" : 686, + "name" : "msg", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 713, + "src" : "9364:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_magic_message", + "typeString" : "msg" + } + }, + "id" : 687, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "sender", + "nodeType" : "MemberAccess", + "referencedDeclaration" : null, + "src" : "9364:10:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "nodeType" : "BinaryOperation", + "operator" : "==", + "rightExpression" : { + "argumentTypes" : null, + "id" : 688, + "name" : "owner", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 3, + "src" : "9378:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "src" : "9364:19:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "src" : "9345:38:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + ], + "id" : 684, + "name" : "require", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 716, + "src" : "9337:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$", + "typeString" : "function (bool) pure" + } + }, + "id" : 691, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9337:47:0", + "typeDescriptions" : { + "typeIdentifier" : "t_tuple$__$", + "typeString" : "tuple()" + } + }, + "id" : 692, + "nodeType" : "ExpressionStatement", + "src" : "9337:47:0" + }, + { + "expression" : { + "argumentTypes" : null, + "arguments" : [ + { + "argumentTypes" : null, + "id" : 695, + "name" : "_to", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 677, + "src" : "9412:3:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + { + "argumentTypes" : null, + "id" : 696, + "name" : "_value", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 679, + "src" : "9417:6:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + } + ], + "expression" : { + "argumentTypes" : [ + { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + ], + "expression" : { + "argumentTypes" : null, + "id" : 693, + "name" : "super", + "nodeType" : "Identifier", + "overloadedDeclarations" : [], + "referencedDeclaration" : 739, + "src" : "9397:5:0", + "typeDescriptions" : { + "typeIdentifier" : "t_super$_BRDToken_$701", + "typeString" : "contract super BRDToken" + } + }, + "id" : 694, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "lValueRequested" : false, + "memberName" : "transfer", + "nodeType" : "MemberAccess", + "referencedDeclaration" : 247, + "src" : "9397:14:0", + "typeDescriptions" : { + "typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString" : "function (address,uint256) returns (bool)" + } + }, + "id" : 697, + "isConstant" : false, + "isLValue" : false, + "isPure" : false, + "kind" : "functionCall", + "lValueRequested" : false, + "names" : [], + "nodeType" : "FunctionCall", + "src" : "9397:27:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "functionReturnParameters" : 683, + "id" : 698, + "nodeType" : "Return", + "src" : "9390:34:0" + } + ] + }, + "id" : 700, + "implemented" : true, + "isConstructor" : false, + "isDeclaredConst" : false, + "modifiers" : [], + "name" : "transfer", + "nodeType" : "FunctionDefinition", + "parameters" : { + "id" : 680, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 677, + "name" : "_to", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "9280:11:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + }, + "typeName" : { + "id" : 676, + "name" : "address", + "nodeType" : "ElementaryTypeName", + "src" : "9280:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_address", + "typeString" : "address" + } + }, + "value" : null, + "visibility" : "internal" + }, + { + "constant" : false, + "id" : 679, + "name" : "_value", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "9293:14:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + }, + "typeName" : { + "id" : 678, + "name" : "uint256", + "nodeType" : "ElementaryTypeName", + "src" : "9293:7:0", + "typeDescriptions" : { + "typeIdentifier" : "t_uint256", + "typeString" : "uint256" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9279:29:0" + }, + "payable" : false, + "returnParameters" : { + "id" : 683, + "nodeType" : "ParameterList", + "parameters" : [ + { + "constant" : false, + "id" : 682, + "name" : "", + "nodeType" : "VariableDeclaration", + "scope" : 700, + "src" : "9325:4:0", + "stateVariable" : false, + "storageLocation" : "default", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + }, + "typeName" : { + "id" : 681, + "name" : "bool", + "nodeType" : "ElementaryTypeName", + "src" : "9325:4:0", + "typeDescriptions" : { + "typeIdentifier" : "t_bool", + "typeString" : "bool" + } + }, + "value" : null, + "visibility" : "internal" + } + ], + "src" : "9324:6:0" + }, + "scope" : 701, + "src" : "9262:167:0", + "stateMutability" : "nonpayable", + "superFunction" : 247, + "visibility" : "public" + } + ], + "scope" : 702, + "src" : "8651:780:0" + } + ], + "src" : "0:9432:0" + } + } + }, + "version" : "0.4.18+commit.9cf6e910.Darwin.appleclang" +} + diff --git a/build/contracts/BRDCrowdsale.json b/build/contracts/BRDCrowdsale.json new file mode 100644 index 0000000..7d7b6ce --- /dev/null +++ b/build/contracts/BRDCrowdsale.json @@ -0,0 +1,9373 @@ +{ + "contractName": "BRDCrowdsale", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_newMaxContribution", + "type": "uint256" + } + ], + "name": "setMaxContribution", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_authorizer", + "type": "address" + } + ], + "name": "setAuthorizer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lockup", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_lockup", + "type": "address" + } + ], + "name": "setLockup", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_token", + "type": "address" + } + ], + "name": "setToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "endTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cap", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weiRaised", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hasStarted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newCap", + "type": "uint256" + } + ], + "name": "setCap", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finalize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "wallet", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "bonusRate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ownerRate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "startTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "allocateTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxContribution", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isFinalized", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minContribution", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tokenWallet", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newEndTime", + "type": "uint256" + } + ], + "name": "setEndTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "authorizer", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockupTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "buyTokens", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hasEnded", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unlockTokens", + "outputs": [ + { + "name": "_didIssueRewards", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_cap", + "type": "uint256" + }, + { + "name": "_minWei", + "type": "uint256" + }, + { + "name": "_maxWei", + "type": "uint256" + }, + { + "name": "_startTime", + "type": "uint256" + }, + { + "name": "_endTime", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_ownerRate", + "type": "uint256" + }, + { + "name": "_bonusRate", + "type": "uint256" + }, + { + "name": "_wallet", + "type": "address" + }, + { + "name": "_tokenWallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [], + "name": "Finalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "purchaser", + "type": "address" + }, + { + "indexed": true, + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "TokenPurchase", + "type": "event" + } + ], + "bytecode": "0x60606040526000600660146101000a81548160ff02191690831515021790555034156200002b57600080fd5b60405161014080620024838339810160405280805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190505086868684428410151515620000ae57600080fd5b838310151515620000be57600080fd5b600082111515620000ce57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200010b57600080fd5b62000129620002ae6401000000000262002189176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181905550826002819055508160048190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008a1115156200021357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156200023a57600080fd5b89600781905550886008819055508760098190555083600a8190555082600b8190555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050505050620002b6565b600080905090565b6121bd80620002c66000396000f300606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ed9d211461018b578063058a628f146101ae57806306490f47146101e75780630b745a011461023c578063144fa6d7146102755780632c4e722e146102ae5780633197cbb6146102d7578063355274ea146103005780634042b66f1461032957806344691f7e1461035257806347786d371461037f5780634bb278f3146103a2578063521eb273146103b75780635af123f41461040c578063688cdba81461043557806378e979251461045e57806386ce0285146104875780638d3d6576146104c95780638d4e4083146104f25780638da5cb5b1461051f578063aaffadf314610574578063bff99c6c1461059d578063ccb98ffc146105f2578063d09edf3114610615578063eb3a88dc1461066a578063ec8ac4d8146106ac578063ecb70fb7146106da578063f2fde38b14610707578063f968f49314610740578063fc0c546a1461076d575b610189336107c2565b005b341561019657600080fd5b6101ac60048080359060200190919050506108f2565b005b34156101b957600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b005b34156101f257600080fd5b6101fa610a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024757600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a32565b005b341561028057600080fd5b6102ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ae6565b005b34156102b957600080fd5b6102c1610b99565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b6102ea610b9f565b6040518082815260200191505060405180910390f35b341561030b57600080fd5b610313610ba5565b6040518082815260200191505060405180910390f35b341561033457600080fd5b61033c610bab565b6040518082815260200191505060405180910390f35b341561035d57600080fd5b610365610bb1565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103a06004808035906020019091905050610bbd565b005b34156103ad57600080fd5b6103b5610c46565b005b34156103c257600080fd5b6103ca610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041757600080fd5b61041f610d48565b6040518082815260200191505060405180910390f35b341561044057600080fd5b610448610d4e565b6040518082815260200191505060405180910390f35b341561046957600080fd5b610471610d54565b6040518082815260200191505060405180910390f35b341561049257600080fd5b6104c7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d5a565b005b34156104d457600080fd5b6104dc611083565b6040518082815260200191505060405180910390f35b34156104fd57600080fd5b610505611089565b604051808215151515815260200191505060405180910390f35b341561052a57600080fd5b61053261109c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057f57600080fd5b6105876110c2565b6040518082815260200191505060405180910390f35b34156105a857600080fd5b6105b06110c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fd57600080fd5b61061360048080359060200190919050506110ee565b005b341561062057600080fd5b610628611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067557600080fd5b6106aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061117a565b005b6106d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156106e557600080fd5b6106ed61161a565b604051808215151515815260200191505060405180910390f35b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061163d565b005b341561074b57600080fd5b610753611795565b604051808215151515815260200191505060405180910390f35b341561077857600080fd5b610780611b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006107cd82611b5e565b6107e2600a5434611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b50505060405180519050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094e57600080fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109b457600080fd5b6109bc610bb1565b1515156109c857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8e57600080fd5b610a96610bb1565b151515610aa257600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4257600080fd5b610b4a610bb1565b151515610b5657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b60025481565b60075481565b60055481565b60006001544211905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b600081111515610c2857600080fd5b610c30610bb1565b151515610c3c57600080fd5b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca257600080fd5b600660149054906101000a900460ff16151515610cbe57600080fd5b610cc661161a565b1515610cd157600080fd5b610cd9611d82565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16001600660146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600a5481565b60015481565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610db957600080fd5b600660149054906101000a900460ff16151515610dd557600080fd5b610dea60045484611e3e90919063ffffffff16565b9150610e0182600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ed357600080fd5b6102c65a03f11515610ee457600080fd5b5050506040518051905050610f04600a5483611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ff457600080fd5b6102c65a03f1151561100557600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188486604051808381526020018281526020019250505060405180910390a350505050565b60095481565b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114a57600080fd5b8060028190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111db57600080fd5b600660149054906101000a900460ff161515156111f757600080fd5b61122060045461121286600a54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561131057600080fd5b6102c65a03f1151561132157600080fd5b5050506040518051905050611354606461134686600b54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b9150600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636dc0a99786846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561141a57600080fd5b6102c65a03f1151561142b57600080fd5b5050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156114fa57600080fd5b6102c65a03f1151561150b57600080fd5b50505060405180519050506115298285611e7790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1986836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156115f757600080fd5b6102c65a03f1151561160857600080fd5b50505060405180519050505050505050565b6000806007546005541015905061162f611e90565b806116375750805b91505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117fa57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f95e63066000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561188857600080fd5b6102c65a03f1151561189957600080fd5b5050506040518051905015156118b25760009550611b31565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633a2960e16000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561194057600080fd5b6102c65a03f1151561195157600080fd5b505050604051805190509450600093505b84841015611b2c57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636198e339856000604051606001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b1515611a0357600080fd5b6102c65a03f11515611a1457600080fd5b505050604051805190602001805190602001805190509250925092508215611b1f576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611b0257600080fd5b6102c65a03f11515611b1357600080fd5b50505060405180519050505b8380600101945050611962565b600195505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b9d57600080fd5b611ba5611e9c565b1515611bb057600080fd5b349150611bc860045483611d4790919063ffffffff16565b9050611bdf82600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611cb157600080fd5b6102c65a03f11515611cc257600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3611d426120f0565b505050565b6000806000841415611d5c5760009150611d7b565b8284029050828482811515611d6d57fe5b04141515611d7757fe5b8091505b5092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e0f57600080fd5b6102c65a03f11515611e2057600080fd5b5050506040518051905050611e33611795565b50611e3c612154565b565b6000808284811515611e4c57fe5b0490508091505092915050565b6000808284019050838110151515611e6d57fe5b8091505092915050565b6000828211151515611e8557fe5b818303905092915050565b60006002544211905090565b600080600080600080600754611ebd34600554611e5990919063ffffffff16565b11159450600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611f8657600080fd5b6102c65a03f11515611f9757600080fd5b505050604051805190509350600854341015925061209e6004546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561207557600080fd5b6102c65a03f1151561208657600080fd5b50505060405180519050611e3e90919063ffffffff16565b91506009546120b68334611e5990919063ffffffff16565b111590506120c2612156565b80156120cb5750845b80156120d45750835b80156120dd5750825b80156120e65750805b9550505050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561215257600080fd5b565b565b6000806000600154421015801561216f57506002544211155b9150600034141590508180156121825750805b9250505090565b6000809050905600a165627a7a7230582060cb5449d5beac07197fded523da36894229e825eeddaa81989a6320292ebb560029", + "deployedBytecode": "0x606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ed9d211461018b578063058a628f146101ae57806306490f47146101e75780630b745a011461023c578063144fa6d7146102755780632c4e722e146102ae5780633197cbb6146102d7578063355274ea146103005780634042b66f1461032957806344691f7e1461035257806347786d371461037f5780634bb278f3146103a2578063521eb273146103b75780635af123f41461040c578063688cdba81461043557806378e979251461045e57806386ce0285146104875780638d3d6576146104c95780638d4e4083146104f25780638da5cb5b1461051f578063aaffadf314610574578063bff99c6c1461059d578063ccb98ffc146105f2578063d09edf3114610615578063eb3a88dc1461066a578063ec8ac4d8146106ac578063ecb70fb7146106da578063f2fde38b14610707578063f968f49314610740578063fc0c546a1461076d575b610189336107c2565b005b341561019657600080fd5b6101ac60048080359060200190919050506108f2565b005b34156101b957600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b005b34156101f257600080fd5b6101fa610a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024757600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a32565b005b341561028057600080fd5b6102ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ae6565b005b34156102b957600080fd5b6102c1610b99565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b6102ea610b9f565b6040518082815260200191505060405180910390f35b341561030b57600080fd5b610313610ba5565b6040518082815260200191505060405180910390f35b341561033457600080fd5b61033c610bab565b6040518082815260200191505060405180910390f35b341561035d57600080fd5b610365610bb1565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103a06004808035906020019091905050610bbd565b005b34156103ad57600080fd5b6103b5610c46565b005b34156103c257600080fd5b6103ca610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041757600080fd5b61041f610d48565b6040518082815260200191505060405180910390f35b341561044057600080fd5b610448610d4e565b6040518082815260200191505060405180910390f35b341561046957600080fd5b610471610d54565b6040518082815260200191505060405180910390f35b341561049257600080fd5b6104c7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d5a565b005b34156104d457600080fd5b6104dc611083565b6040518082815260200191505060405180910390f35b34156104fd57600080fd5b610505611089565b604051808215151515815260200191505060405180910390f35b341561052a57600080fd5b61053261109c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561057f57600080fd5b6105876110c2565b6040518082815260200191505060405180910390f35b34156105a857600080fd5b6105b06110c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fd57600080fd5b61061360048080359060200190919050506110ee565b005b341561062057600080fd5b610628611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067557600080fd5b6106aa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061117a565b005b6106d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156106e557600080fd5b6106ed61161a565b604051808215151515815260200191505060405180910390f35b341561071257600080fd5b61073e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061163d565b005b341561074b57600080fd5b610753611795565b604051808215151515815260200191505060405180910390f35b341561077857600080fd5b610780611b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006107cd82611b5e565b6107e2600a5434611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b50505060405180519050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094e57600080fd5b8060098190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109b457600080fd5b6109bc610bb1565b1515156109c857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a8e57600080fd5b610a96610bb1565b151515610aa257600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4257600080fd5b610b4a610bb1565b151515610b5657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b60025481565b60075481565b60055481565b60006001544211905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1957600080fd5b600081111515610c2857600080fd5b610c30610bb1565b151515610c3c57600080fd5b8060078190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca257600080fd5b600660149054906101000a900460ff16151515610cbe57600080fd5b610cc661161a565b1515610cd157600080fd5b610cd9611d82565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16001600660146101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600a5481565b60015481565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610db957600080fd5b600660149054906101000a900460ff16151515610dd557600080fd5b610dea60045484611e3e90919063ffffffff16565b9150610e0182600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1985856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ed357600080fd5b6102c65a03f11515610ee457600080fd5b5050506040518051905050610f04600a5483611d4790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ff457600080fd5b6102c65a03f1151561100557600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188486604051808381526020018281526020019250505060405180910390a350505050565b60095481565b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114a57600080fd5b8060028190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111db57600080fd5b600660149054906101000a900460ff161515156111f757600080fd5b61122060045461121286600a54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561131057600080fd5b6102c65a03f1151561132157600080fd5b5050506040518051905050611354606461134686600b54611d4790919063ffffffff16565b611e3e90919063ffffffff16565b9150600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636dc0a99786846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561141a57600080fd5b6102c65a03f1151561142b57600080fd5b5050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156114fa57600080fd5b6102c65a03f1151561150b57600080fd5b50505060405180519050506115298285611e7790919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1986836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156115f757600080fd5b6102c65a03f1151561160857600080fd5b50505060405180519050505050505050565b6000806007546005541015905061162f611e90565b806116375750805b91505090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561169957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117fa57600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f95e63066000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561188857600080fd5b6102c65a03f1151561189957600080fd5b5050506040518051905015156118b25760009550611b31565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633a2960e16000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561194057600080fd5b6102c65a03f1151561195157600080fd5b505050604051805190509450600093505b84841015611b2c57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636198e339856000604051606001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b1515611a0357600080fd5b6102c65a03f11515611a1457600080fd5b505050604051805190602001805190602001805190509250925092508215611b1f576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611b0257600080fd5b6102c65a03f11515611b1357600080fd5b50505060405180519050505b8380600101945050611962565b600195505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b9d57600080fd5b611ba5611e9c565b1515611bb057600080fd5b349150611bc860045483611d4790919063ffffffff16565b9050611bdf82600554611e5990919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611cb157600080fd5b6102c65a03f11515611cc257600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3611d426120f0565b505050565b6000806000841415611d5c5760009150611d7b565b8284029050828482811515611d6d57fe5b04141515611d7757fe5b8091505b5092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611e0f57600080fd5b6102c65a03f11515611e2057600080fd5b5050506040518051905050611e33611795565b50611e3c612154565b565b6000808284811515611e4c57fe5b0490508091505092915050565b6000808284019050838110151515611e6d57fe5b8091505092915050565b6000828211151515611e8557fe5b818303905092915050565b60006002544211905090565b600080600080600080600754611ebd34600554611e5990919063ffffffff16565b11159450600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611f8657600080fd5b6102c65a03f11515611f9757600080fd5b505050604051805190509350600854341015925061209e6004546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561207557600080fd5b6102c65a03f1151561208657600080fd5b50505060405180519050611e3e90919063ffffffff16565b91506009546120b68334611e5990919063ffffffff16565b111590506120c2612156565b80156120cb5750845b80156120d45750835b80156120dd5750825b80156120e65750805b9550505050505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561215257600080fd5b565b565b6000806000600154421015801561216f57506002544211155b9150600034141590508180156121825750805b9250505090565b6000809050905600a165627a7a7230582060cb5449d5beac07197fded523da36894229e825eeddaa81989a6320292ebb560029", + "sourceMap": "324:7602:0:-;;;338:5:8;312:31;;;;;;;;;;;;;;;;;;;;1128:831:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1681:10;1693:8;1703:5;1710:7;1312:3:5;1298:10;:17;;1290:26;;;;;;;;1342:10;1330:8;:22;;1322:31;;;;;;;;1375:1;1367:5;:9;1359:18;;;;;;;;1410:1;1391:21;;:7;:21;;;;1383:30;;;;;;;;1428:21;:19;;;;;:21;;;:::i;:::-;1420:5;;:29;;;;;;;;;;;;;;;;;;1467:10;1455:9;:22;;;;1493:8;1483:7;:18;;;;1514:5;1507:4;:12;;;;1534:7;1525:6;;:16;;;;;;;;;;;;;;;;;;1188:358;;;;509:10:10;501:5;;:18;;;;;;;;;;;;;;;;;;1752:1:0;1745:4;:8;1737:17;;;;;;;;1784:3;1768:12;:19;;;;1760:28;;;;;;;;1800:4;1794:3;:10;;;;1828:7;1810:15;:25;;;;1859:7;1841:15;:25;;;;1884:10;1872:9;:22;;;;1912:10;1900:9;:22;;;;1942:12;1928:11;;:26;;;;;;;;;;;;;;;;;;1128:831;;;;;;;;;;324:7602;;6541:202;6590:13;6735:1;6711:27;;6541:202;:::o;324:7602::-;;;;;;;", + "deployedSourceMap": "324:7602:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1849:21:5;1859:10;1849:9;:21::i;:::-;324:7602:0;6240:122;;;;;;;;;;;;;;;;;;;;;;;;;;5511:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5716:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;5891:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:19:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;623:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;461:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:24:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2254:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6065:128;;;;;;;;;;;;;;;;;;;;;;;;;;514:157:8;;;;;;;;;;;;;;689:21:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;790:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595::5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2917:507:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;611:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;312:31:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;880:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6401:90;;;;;;;;;;;;;;;;;;;;;;;;;;977:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:805;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2455:361;;;;;;;;;;;;;;;;;;;;2062:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;4696:745:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;487:26:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2455:361:0;2659:20;2581:29;2597:12;2581:15;:29::i;:::-;2682:24;2696:9;;2682;:13;;:24;;;;:::i;:::-;2659:47;;2774:5;;;;;;;;;;;:10;;;2785:11;;;;;;;;;;;2798:12;2774:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2455:361;;:::o;6240:122::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;6338:19:0;6320:15;:37;;;;6240:122;:::o;5511:139::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;5602:12:0;:10;:12::i;:::-;5601:13;5593:22;;;;;;;;5634:11;5621:10;;:24;;;;;;;;;;;;;;;;;;5511:139;:::o;1083:23::-;;;;;;;;;;;;;:::o;5716:110::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;5786:12:0;:10;:12::i;:::-;5785:13;5777:22;;;;;;;;5814:7;5805:6;;:16;;;;;;;;;;;;;;;;;;5716:110;:::o;5891:105::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;5958:12:0;:10;:12::i;:::-;5957:13;5949:22;;;;;;;;5985:6;5977:5;;:14;;;;;;;;;;;;;;;;;;5891:105;:::o;762:19:5:-;;;;:::o;623:22::-;;;;:::o;461:18:0:-;;;;:::o;821:24:5:-;;;;:::o;2254:86:0:-;2301:4;2326:9;;2320:3;:15;2313:22;;2254:86;:::o;6065:128::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;6139:1:0;6129:7;:11;6121:20;;;;;;;;6156:12;:10;:12::i;:::-;6155:13;6147:22;;;;;;;;6181:7;6175:3;:13;;;;6065:128;:::o;514:157:8:-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;566:11:8;;;;;;;;;;;565:12;557:21;;;;;;;;592:10;:8;:10::i;:::-;584:19;;;;;;;;610:14;:12;:14::i;:::-;630:11;;;;;;;;;;662:4;648:11;;:18;;;;;;;;;;;;;;;;;;514:157::o;689:21:5:-;;;;;;;;;;;;;:::o;790:24:0:-;;;;:::o;702:::-;;;;:::o;595::5:-;;;;:::o;2917:507:0:-;3051:18;3257:20;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;3012:11:0;;;;;;;;;;;3011:12;3003:21;;;;;;;;3072:17;3084:4;;3072:7;:11;;:17;;;;:::i;:::-;3051:38;;3107:25;3121:10;3107:9;;:13;;:25;;;;:::i;:::-;3095:9;:37;;;;3181:5;;;;;;;;;;;:10;;;3192:12;3206:7;3181:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3280:25;3295:9;;3280:10;:14;;:25;;;;:::i;:::-;3257:48;;3311:5;;;;;;;;;;;:10;;;3322:11;;;;;;;;;;;3335:12;3311:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:12;3359:60;;3373:10;3359:60;;;3399:10;3411:7;3359:60;;;;;;;;;;;;;;;;;;;;;;;;2917:507;;;;:::o;611:30::-;;;;:::o;312:31:8:-;;;;;;;;;;;;;:::o;238:20:10:-;;;;;;;;;;;;;:::o;530:30:0:-;;;;:::o;880:26::-;;;;;;;;;;;;;:::o;6401:90::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;6475:11:0;6465:7;:21;;;;6401:90;:::o;977:40::-;;;;;;;;;;;;;:::o;3677:805::-;3832:20;4048:21;4388:18;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;3770:11:0;;;;;;;;;;;3769:12;3761:21;;;;;;;;3855:32;3882:4;;3855:22;3869:7;3855:9;;:13;;:22;;;;:::i;:::-;:26;;:32;;;;:::i;:::-;3832:55;;3950:5;;;;;;;;;;;:10;;;3961:11;;;;;;;;;;;3974:12;3950:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4072:31;4099:3;4072:22;4086:7;4072:9;;:13;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;4048:55;;4168:6;;;;;;;;;;;:21;;;4190:12;4204:13;4168:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4297:5;;;;;;;;;;;:10;;;4308:4;4314:13;4297:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:26;4421:13;4409:7;:11;;:26;;;;:::i;:::-;4388:47;;4441:5;;;;;;;;;;;:10;;;4452:12;4466:10;4441:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:805;;;;;:::o;2062:141::-;2107:4;2119:16;2151:3;;2138:9;;:16;;2119:35;;2167:16;:14;:16::i;:::-;:31;;;;2187:11;2167:31;2160:38;;2062:141;;:::o;834:169:10:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;4696:745:0:-;4746:21;5018:20;5134:7;5226:13;5241:3;5246:7;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;4928:6:0;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:25;4923:49;;;4967:5;4960:12;;;;4923:49;5041:6;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5018:46;;5144:1;5134:11;;5129:290;5152:15;5147:2;:20;5129:290;;;5257:6;;;;;;;;;;;:13;;;5271:2;5257:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5221:53;;;;;;5351:13;5347:66;;;5376:5;;;;;;;;;;;:14;;;5391:3;5396:7;5376:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5347:66;5169:4;;;;;;;5129:290;;;5432:4;5425:11;;666:1:10;4696:745:0;;;;;;:::o;487:26:5:-;;;;;;;;;;;;;:::o;1918:438::-;2050:17;2130:14;2010:1;1987:25;;:11;:25;;;;1979:34;;;;;;;;2027:15;:13;:15::i;:::-;2019:24;;;;;;;;2070:9;2050:29;;2147:19;2161:4;;2147:9;:13;;:19;;;;:::i;:::-;2130:36;;2205:24;2219:9;2205;;:13;;:24;;;;:::i;:::-;2193:9;:36;;;;2236:5;;;;;;;;;;;:10;;;2247:11;2260:6;2236:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2299:11;2273:57;;2287:10;2273:57;;;2312:9;2323:6;2273:57;;;;;;;;;;;;;;;;;;;;;;;;2337:14;:12;:14::i;:::-;1918:438;;;:::o;138:173:11:-;196:7;251:9;220:1;215;:6;211:35;;;238:1;231:8;;;;211:35;267:1;263;:5;251:17;;290:1;285;281;:5;;;;;;;;:10;274:18;;;;;;305:1;298:8;;138:173;;;;;;:::o;7004:169:0:-;7062:5;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7127:14;:12;:14::i;:::-;;7148:20;:18;:20::i;:::-;7004:169::o;315:265:11:-;373:7;462:9;478:1;474;:5;;;;;;;;462:17;;574:1;567:8;;315:265;;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o;584:110::-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;2847:78:5:-;2888:4;2913:7;;2907:3;:13;2900:20;;2847:78;:::o;7457:467:0:-;7509:4;7521:15;7576:18;7638:11;7686:27;7759:15;7567:3;;7539:24;7553:9;7539;;:13;;:24;;;;:::i;:::-;:31;;7521:49;;7597:10;;;;;;;;;;;:23;;;7621:10;7597:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7576:56;;7665:15;;7652:9;:28;;7638:42;;7716:37;7748:4;;7716:5;;;;;;;;;;;:15;;;7732:10;7716:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;:37;;;;:::i;:::-;7686:67;;7815:15;;7777:34;7791:19;7777:9;:13;;:34;;;;:::i;:::-;:53;;7759:71;;7843:21;:19;:21::i;:::-;:35;;;;;7868:10;7843:35;:52;;;;;7882:13;7843:52;:62;;;;;7899:6;7843:62;:76;;;;;7909:10;7843:76;7836:83;;7457:467;;;;;;:::o;2464:70:5:-;2503:6;;;;;;;;;;;:15;;:26;2519:9;2503:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2464:70::o;867:38:8:-;:::o;2590:206:5:-;2638:4;2650:17;2710:20;2677:9;;2670:3;:16;;:34;;;;;2697:7;;2690:3;:14;;2670:34;2650:54;;2746:1;2733:9;:14;;2710:37;;2760:12;:31;;;;;2776:15;2760:31;2753:38;;2590:206;;;:::o;6541:202:0:-;6590:13;6735:1;6711:27;;6541:202;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"./BRDToken.sol\";\nimport \"./BRDCrowdsaleAuthorizer.sol\";\nimport \"./BRDLockup.sol\";\nimport \"./zeppelin-solidity-1.4/Crowdsale.sol\";\nimport \"./zeppelin-solidity-1.4/FinalizableCrowdsale.sol\";\nimport \"./zeppelin-solidity-1.4/MintableToken.sol\";\nimport \"./zeppelin-solidity-1.4/SafeMath.sol\";\n\n\ncontract BRDCrowdsale is FinalizableCrowdsale {\n using SafeMath for uint256;\n\n // maximum amount of wei raised during this crowdsale\n uint256 public cap;\n\n // minimum per-participant wei contribution\n uint256 public minContribution;\n\n // maximum per-participant wei contribution\n uint256 public maxContribution;\n\n // how many token unites the owner gets per buyer wei\n uint256 public ownerRate;\n\n // number of tokens per 100 to lock up in lockupTokens()\n uint256 public bonusRate;\n\n // the address to which the owner share of tokens are sent\n address public tokenWallet;\n\n // crowdsale authorizer contract determines who can participate\n BRDCrowdsaleAuthorizer public authorizer;\n\n // the lockup contract holds presale authorization amounts\n BRDLockup public lockup;\n\n // constructor\n function BRDCrowdsale(\n uint256 _cap, // maximum wei raised\n uint256 _minWei, // minimum per-contributor wei\n uint256 _maxWei, // maximum per-contributor wei\n uint256 _startTime, // crowdsale start time\n uint256 _endTime, // crowdsale end time\n uint256 _rate, // tokens per wei\n uint256 _ownerRate, // owner tokens per buyer wei\n uint256 _bonusRate, // percentage of tokens to lockup\n address _wallet, // target eth wallet\n address _tokenWallet) // target token wallet\n Crowdsale(_startTime, _endTime, _rate, _wallet)\n public\n {\n require(_cap > 0);\n require(_tokenWallet != 0x0);\n cap = _cap;\n minContribution = _minWei;\n maxContribution = _maxWei;\n ownerRate = _ownerRate;\n bonusRate = _bonusRate;\n tokenWallet = _tokenWallet;\n }\n\n // overriding Crowdsale#hasEnded to add cap logic\n // @return true if crowdsale event has ended\n function hasEnded() public constant returns (bool) {\n bool _capReached = weiRaised >= cap;\n return super.hasEnded() || _capReached;\n }\n\n // @return true if the crowdsale has started\n function hasStarted() public constant returns (bool) {\n return now > startTime;\n }\n\n // overriding Crowdsale#buyTokens\n // mints the ownerRate of tokens in addition to calling the super method\n function buyTokens(address _beneficiary) public payable {\n // call the parent method to mint tokens to the beneficiary\n super.buyTokens(_beneficiary);\n // calculate the owner share of tokens\n uint256 _ownerTokens = msg.value.mul(ownerRate);\n // mint the owner share and send to the owner toke wallet\n token.mint(tokenWallet, _ownerTokens);\n }\n\n // immediately mint _amount tokens to the _beneficiary. this is used for OOB token purchases. \n function allocateTokens(address _beneficiary, uint256 _amount) onlyOwner public {\n require(!isFinalized);\n\n // update state\n uint256 _weiAmount = _amount.div(rate);\n weiRaised = weiRaised.add(_weiAmount);\n\n // mint the tokens to the beneficiary\n token.mint(_beneficiary, _amount);\n\n // mint the owner share tokens \n uint256 _ownerTokens = _weiAmount.mul(ownerRate);\n token.mint(tokenWallet, _ownerTokens);\n \n TokenPurchase(msg.sender, _beneficiary, _weiAmount, _amount);\n }\n\n // mints _amount tokens to the _beneficiary minus the bonusRate\n // tokens to be locked up via the lockup contract. locked up tokens\n // are sent to the contract and may be unlocked according to\n // the lockup configuration after the sale ends\n function lockupTokens(address _beneficiary, uint256 _amount) onlyOwner public {\n require(!isFinalized);\n\n // calculate the owner share of tokens\n uint256 _ownerTokens = ownerRate.mul(_amount).div(rate);\n // mint the owner share and send to the owner wallet\n token.mint(tokenWallet, _ownerTokens);\n\n // calculate the amount of tokens to be locked up\n uint256 _lockupTokens = bonusRate.mul(_amount).div(100);\n // create the locked allocation in the lockup contract\n lockup.pushAllocation(_beneficiary, _lockupTokens);\n // mint locked tokens to the crowdsale contract to later be unlocked\n token.mint(this, _lockupTokens);\n\n // the non-bonus tokens are immediately rewarded\n uint256 _remainder = _amount.sub(_lockupTokens);\n token.mint(_beneficiary, _remainder);\n }\n\n // unlocks tokens from the token lockup contract. no tokens are held by\n // the lockup contract, just the amounts and times that tokens should be rewarded.\n // the tokens are held by the crowdsale contract\n function unlockTokens() onlyOwner public returns (bool _didIssueRewards) {\n // attempt to process the interval. it update the allocation bookkeeping\n // and will only return true when the interval should be processed\n if (!lockup.processInterval())\n return false;\n\n // the total number of allocations\n uint _numAllocations = lockup.numAllocations();\n\n // for every allocation, attempt to unlock the reward\n for (uint _i = 0; _i < _numAllocations; _i++) {\n // attempt to unlock the reward\n var (_shouldReward, _to, _amount) = lockup.unlock(_i);\n // if the beneficiary should be rewarded, send them tokens\n if (_shouldReward) {\n token.transfer(_to, _amount);\n }\n }\n\n return true;\n }\n\n // sets the authorizer contract if the crowdsale hasn't started\n function setAuthorizer(BRDCrowdsaleAuthorizer _authorizer) onlyOwner public {\n require(!hasStarted());\n authorizer = _authorizer;\n }\n\n // sets the lockup contract if the crowdsale hasn't started\n function setLockup(BRDLockup _lockup) onlyOwner public {\n require(!hasStarted());\n lockup = _lockup;\n }\n\n // sets the token contract if the crowdsale hasn't started\n function setToken(BRDToken _token) onlyOwner public {\n require(!hasStarted());\n token = _token;\n }\n\n // set the cap on the contract if the crowdsale hasn't started\n function setCap(uint256 _newCap) onlyOwner public {\n require(_newCap > 0);\n require(!hasStarted());\n cap = _newCap;\n }\n\n // allows maxContribution to be modified\n function setMaxContribution(uint256 _newMaxContribution) onlyOwner public {\n maxContribution = _newMaxContribution;\n }\n\n // allows endTime to be modified\n function setEndTime(uint256 _newEndTime) onlyOwner public {\n endTime = _newEndTime;\n }\n\n // overriding Crowdsale#createTokenContract\n function createTokenContract() internal returns (MintableToken) {\n // set the token to null initially\n // call setToken() above to set the actual token address\n return BRDToken(address(0));\n }\n\n // function forwardFunds() internal {\n // if (!wallet.call.gas(200000).value(msg.value)()) {\n // revert();\n // }\n // }\n\n // overriding FinalizableCrowdsale#finalization\n // finalizes minting for the token contract, disabling further minting\n function finalization() internal {\n // end minting\n token.finishMinting();\n\n // issue the first lockup reward\n unlockTokens();\n\n super.finalization();\n }\n\n // overriding Crowdsale#validPurchase to add extra cap logic\n // @return true if crowdsale participants can buy at the moment\n // checks whether the cap has not been reached, the purchaser has\n // been authorized, and their contribution is within the min/max\n // thresholds\n function validPurchase() internal constant returns (bool) {\n bool _withinCap = weiRaised.add(msg.value) <= cap;\n bool _isAuthorized = authorizer.isAuthorized(msg.sender);\n bool _isMin = msg.value >= minContribution;\n uint256 _alreadyContributed = token.balanceOf(msg.sender).div(rate);\n bool _withinMax = msg.value.add(_alreadyContributed) <= maxContribution;\n return super.validPurchase() && _withinCap && _isAuthorized && _isMin && _withinMax;\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDCrowdsale.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDCrowdsale.sol", + "exportedSymbols": { + "BRDCrowdsale": [ + 527 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1, + "name": "PragmaDirective", + "src": "0:24:0" + }, + { + "attributes": { + "SourceUnit": 1025, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDToken.sol", + "file": "./BRDToken.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2, + "name": "ImportDirective", + "src": "26:24:0" + }, + { + "attributes": { + "SourceUnit": 652, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDCrowdsaleAuthorizer.sol", + "file": "./BRDCrowdsaleAuthorizer.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 3, + "name": "ImportDirective", + "src": "51:38:0" + }, + { + "attributes": { + "SourceUnit": 953, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDLockup.sol", + "file": "./BRDLockup.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4, + "name": "ImportDirective", + "src": "90:25:0" + }, + { + "attributes": { + "SourceUnit": 1323, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Crowdsale.sol", + "file": "./zeppelin-solidity-1.4/Crowdsale.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5, + "name": "ImportDirective", + "src": "116:47:0" + }, + { + "attributes": { + "SourceUnit": 1443, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol", + "file": "./zeppelin-solidity-1.4/FinalizableCrowdsale.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6, + "name": "ImportDirective", + "src": "164:58:0" + }, + { + "attributes": { + "SourceUnit": 1538, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/MintableToken.sol", + "file": "./zeppelin-solidity-1.4/MintableToken.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7, + "name": "ImportDirective", + "src": "223:51:0" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./zeppelin-solidity-1.4/SafeMath.sol", + "scope": 528, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 8, + "name": "ImportDirective", + "src": "275:46:0" + }, + { + "attributes": { + "contractDependencies": [ + 1322, + 1442, + 1593 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 527, + 1442, + 1593, + 1322 + ], + "name": "BRDCrowdsale", + "scope": 528 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "FinalizableCrowdsale", + "referencedDeclaration": 1442, + "type": "contract FinalizableCrowdsale" + }, + "id": 9, + "name": "UserDefinedTypeName", + "src": "349:20:0" + } + ], + "id": 10, + "name": "InheritanceSpecifier", + "src": "349:20:0" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 11, + "name": "UserDefinedTypeName", + "src": "380:8:0" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 12, + "name": "ElementaryTypeName", + "src": "393:7:0" + } + ], + "id": 13, + "name": "UsingForDirective", + "src": "374:27:0" + }, + { + "attributes": { + "constant": false, + "name": "cap", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 14, + "name": "ElementaryTypeName", + "src": "461:7:0" + } + ], + "id": 15, + "name": "VariableDeclaration", + "src": "461:18:0" + }, + { + "attributes": { + "constant": false, + "name": "minContribution", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 16, + "name": "ElementaryTypeName", + "src": "530:7:0" + } + ], + "id": 17, + "name": "VariableDeclaration", + "src": "530:30:0" + }, + { + "attributes": { + "constant": false, + "name": "maxContribution", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 18, + "name": "ElementaryTypeName", + "src": "611:7:0" + } + ], + "id": 19, + "name": "VariableDeclaration", + "src": "611:30:0" + }, + { + "attributes": { + "constant": false, + "name": "ownerRate", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 20, + "name": "ElementaryTypeName", + "src": "702:7:0" + } + ], + "id": 21, + "name": "VariableDeclaration", + "src": "702:24:0" + }, + { + "attributes": { + "constant": false, + "name": "bonusRate", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 22, + "name": "ElementaryTypeName", + "src": "790:7:0" + } + ], + "id": 23, + "name": "VariableDeclaration", + "src": "790:24:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenWallet", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 24, + "name": "ElementaryTypeName", + "src": "880:7:0" + } + ], + "id": 25, + "name": "VariableDeclaration", + "src": "880:26:0" + }, + { + "attributes": { + "constant": false, + "name": "authorizer", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "contract BRDCrowdsaleAuthorizer", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BRDCrowdsaleAuthorizer", + "referencedDeclaration": 651, + "type": "contract BRDCrowdsaleAuthorizer" + }, + "id": 26, + "name": "UserDefinedTypeName", + "src": "977:22:0" + } + ], + "id": 27, + "name": "VariableDeclaration", + "src": "977:40:0" + }, + { + "attributes": { + "constant": false, + "name": "lockup", + "scope": 527, + "stateVariable": true, + "storageLocation": "default", + "type": "contract BRDLockup", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BRDLockup", + "referencedDeclaration": 952, + "type": "contract BRDLockup" + }, + "id": 28, + "name": "UserDefinedTypeName", + "src": "1083:9:0" + } + ], + "id": 29, + "name": "VariableDeclaration", + "src": "1083:23:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "name": "BRDCrowdsale", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 30, + "name": "ElementaryTypeName", + "src": "1155:7:0" + } + ], + "id": 31, + "name": "VariableDeclaration", + "src": "1155:12:0" + }, + { + "attributes": { + "constant": false, + "name": "_minWei", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 32, + "name": "ElementaryTypeName", + "src": "1203:7:0" + } + ], + "id": 33, + "name": "VariableDeclaration", + "src": "1203:15:0" + }, + { + "attributes": { + "constant": false, + "name": "_maxWei", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 34, + "name": "ElementaryTypeName", + "src": "1260:7:0" + } + ], + "id": 35, + "name": "VariableDeclaration", + "src": "1260:15:0" + }, + { + "attributes": { + "constant": false, + "name": "_startTime", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 36, + "name": "ElementaryTypeName", + "src": "1317:7:0" + } + ], + "id": 37, + "name": "VariableDeclaration", + "src": "1317:18:0" + }, + { + "attributes": { + "constant": false, + "name": "_endTime", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 38, + "name": "ElementaryTypeName", + "src": "1367:7:0" + } + ], + "id": 39, + "name": "VariableDeclaration", + "src": "1367:16:0" + }, + { + "attributes": { + "constant": false, + "name": "_rate", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 40, + "name": "ElementaryTypeName", + "src": "1415:7:0" + } + ], + "id": 41, + "name": "VariableDeclaration", + "src": "1415:13:0" + }, + { + "attributes": { + "constant": false, + "name": "_ownerRate", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 42, + "name": "ElementaryTypeName", + "src": "1459:7:0" + } + ], + "id": 43, + "name": "VariableDeclaration", + "src": "1459:18:0" + }, + { + "attributes": { + "constant": false, + "name": "_bonusRate", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 44, + "name": "ElementaryTypeName", + "src": "1515:7:0" + } + ], + "id": 45, + "name": "VariableDeclaration", + "src": "1515:18:0" + }, + { + "attributes": { + "constant": false, + "name": "_wallet", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 46, + "name": "ElementaryTypeName", + "src": "1575:7:0" + } + ], + "id": 47, + "name": "VariableDeclaration", + "src": "1575:15:0" + }, + { + "attributes": { + "constant": false, + "name": "_tokenWallet", + "scope": 95, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 48, + "name": "ElementaryTypeName", + "src": "1622:7:0" + } + ], + "id": 49, + "name": "VariableDeclaration", + "src": "1622:20:0" + } + ], + "id": 50, + "name": "ParameterList", + "src": "1149:494:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 57, + "name": "ParameterList", + "src": "1731:0:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1322, + "type": "type(contract Crowdsale)", + "value": "Crowdsale" + }, + "id": 51, + "name": "Identifier", + "src": "1671:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 37, + "type": "uint256", + "value": "_startTime" + }, + "id": 52, + "name": "Identifier", + "src": "1681:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 39, + "type": "uint256", + "value": "_endTime" + }, + "id": 53, + "name": "Identifier", + "src": "1693:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 41, + "type": "uint256", + "value": "_rate" + }, + "id": 54, + "name": "Identifier", + "src": "1703:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 47, + "type": "address", + "value": "_wallet" + }, + "id": 55, + "name": "Identifier", + "src": "1710:7:0" + } + ], + "id": 56, + "name": "ModifierInvocation", + "src": "1671:47:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 58, + "name": "Identifier", + "src": "1737:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31, + "type": "uint256", + "value": "_cap" + }, + "id": 59, + "name": "Identifier", + "src": "1745:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 60, + "name": "Literal", + "src": "1752:1:0" + } + ], + "id": 61, + "name": "BinaryOperation", + "src": "1745:8:0" + } + ], + "id": 62, + "name": "FunctionCall", + "src": "1737:17:0" + } + ], + "id": 63, + "name": "ExpressionStatement", + "src": "1737:17:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 64, + "name": "Identifier", + "src": "1760:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 49, + "type": "address", + "value": "_tokenWallet" + }, + "id": 65, + "name": "Identifier", + "src": "1768:12:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "307830", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0x0" + }, + "id": 66, + "name": "Literal", + "src": "1784:3:0" + } + ], + "id": 67, + "name": "BinaryOperation", + "src": "1768:19:0" + } + ], + "id": 68, + "name": "FunctionCall", + "src": "1760:28:0" + } + ], + "id": 69, + "name": "ExpressionStatement", + "src": "1760:28:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "uint256", + "value": "cap" + }, + "id": 70, + "name": "Identifier", + "src": "1794:3:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31, + "type": "uint256", + "value": "_cap" + }, + "id": 71, + "name": "Identifier", + "src": "1800:4:0" + } + ], + "id": 72, + "name": "Assignment", + "src": "1794:10:0" + } + ], + "id": 73, + "name": "ExpressionStatement", + "src": "1794:10:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 17, + "type": "uint256", + "value": "minContribution" + }, + "id": 74, + "name": "Identifier", + "src": "1810:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 33, + "type": "uint256", + "value": "_minWei" + }, + "id": 75, + "name": "Identifier", + "src": "1828:7:0" + } + ], + "id": 76, + "name": "Assignment", + "src": "1810:25:0" + } + ], + "id": 77, + "name": "ExpressionStatement", + "src": "1810:25:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19, + "type": "uint256", + "value": "maxContribution" + }, + "id": 78, + "name": "Identifier", + "src": "1841:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 35, + "type": "uint256", + "value": "_maxWei" + }, + "id": 79, + "name": "Identifier", + "src": "1859:7:0" + } + ], + "id": 80, + "name": "Assignment", + "src": "1841:25:0" + } + ], + "id": 81, + "name": "ExpressionStatement", + "src": "1841:25:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 21, + "type": "uint256", + "value": "ownerRate" + }, + "id": 82, + "name": "Identifier", + "src": "1872:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43, + "type": "uint256", + "value": "_ownerRate" + }, + "id": 83, + "name": "Identifier", + "src": "1884:10:0" + } + ], + "id": 84, + "name": "Assignment", + "src": "1872:22:0" + } + ], + "id": 85, + "name": "ExpressionStatement", + "src": "1872:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 23, + "type": "uint256", + "value": "bonusRate" + }, + "id": 86, + "name": "Identifier", + "src": "1900:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 45, + "type": "uint256", + "value": "_bonusRate" + }, + "id": 87, + "name": "Identifier", + "src": "1912:10:0" + } + ], + "id": 88, + "name": "Assignment", + "src": "1900:22:0" + } + ], + "id": 89, + "name": "ExpressionStatement", + "src": "1900:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 25, + "type": "address", + "value": "tokenWallet" + }, + "id": 90, + "name": "Identifier", + "src": "1928:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 49, + "type": "address", + "value": "_tokenWallet" + }, + "id": 91, + "name": "Identifier", + "src": "1942:12:0" + } + ], + "id": 92, + "name": "Assignment", + "src": "1928:26:0" + } + ], + "id": 93, + "name": "ExpressionStatement", + "src": "1928:26:0" + } + ], + "id": 94, + "name": "Block", + "src": "1731:228:0" + } + ], + "id": 95, + "name": "FunctionDefinition", + "src": "1128:831:0" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "hasEnded", + "payable": false, + "scope": 527, + "stateMutability": "view", + "superFunction": 1321, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 96, + "name": "ParameterList", + "src": "2079:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 113, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 97, + "name": "ElementaryTypeName", + "src": "2107:4:0" + } + ], + "id": 98, + "name": "VariableDeclaration", + "src": "2107:4:0" + } + ], + "id": 99, + "name": "ParameterList", + "src": "2106:6:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 101 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_capReached", + "scope": 113, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 100, + "name": "ElementaryTypeName", + "src": "2119:4:0" + } + ], + "id": 101, + "name": "VariableDeclaration", + "src": "2119:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 102, + "name": "Identifier", + "src": "2138:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "uint256", + "value": "cap" + }, + "id": 103, + "name": "Identifier", + "src": "2151:3:0" + } + ], + "id": 104, + "name": "BinaryOperation", + "src": "2138:16:0" + } + ], + "id": 105, + "name": "VariableDeclarationStatement", + "src": "2119:35:0" + }, + { + "attributes": { + "functionReturnParameters": 99 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "hasEnded", + "referencedDeclaration": 1321, + "type": "function () view returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1985, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 106, + "name": "Identifier", + "src": "2167:5:0" + } + ], + "id": 107, + "name": "MemberAccess", + "src": "2167:14:0" + } + ], + "id": 108, + "name": "FunctionCall", + "src": "2167:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 101, + "type": "bool", + "value": "_capReached" + }, + "id": 109, + "name": "Identifier", + "src": "2187:11:0" + } + ], + "id": 110, + "name": "BinaryOperation", + "src": "2167:31:0" + } + ], + "id": 111, + "name": "Return", + "src": "2160:38:0" + } + ], + "id": 112, + "name": "Block", + "src": "2113:90:0" + } + ], + "id": 113, + "name": "FunctionDefinition", + "src": "2062:141:0" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "hasStarted", + "payable": false, + "scope": 527, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 114, + "name": "ParameterList", + "src": "2273:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 123, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 115, + "name": "ElementaryTypeName", + "src": "2301:4:0" + } + ], + "id": 116, + "name": "VariableDeclaration", + "src": "2301:4:0" + } + ], + "id": 117, + "name": "ParameterList", + "src": "2300:6:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 117 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 118, + "name": "Identifier", + "src": "2320:3:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1121, + "type": "uint256", + "value": "startTime" + }, + "id": 119, + "name": "Identifier", + "src": "2326:9:0" + } + ], + "id": 120, + "name": "BinaryOperation", + "src": "2320:15:0" + } + ], + "id": 121, + "name": "Return", + "src": "2313:22:0" + } + ], + "id": 122, + "name": "Block", + "src": "2307:33:0" + } + ], + "id": 123, + "name": "FunctionDefinition", + "src": "2254:86:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "buyTokens", + "payable": true, + "scope": 527, + "stateMutability": "payable", + "superFunction": 1273, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 150, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 124, + "name": "ElementaryTypeName", + "src": "2474:7:0" + } + ], + "id": 125, + "name": "VariableDeclaration", + "src": "2474:20:0" + } + ], + "id": 126, + "name": "ParameterList", + "src": "2473:22:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 127, + "name": "ParameterList", + "src": "2511:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "buyTokens", + "referencedDeclaration": 1273, + "type": "function (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1985, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 128, + "name": "Identifier", + "src": "2581:5:0" + } + ], + "id": 130, + "name": "MemberAccess", + "src": "2581:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 125, + "type": "address", + "value": "_beneficiary" + }, + "id": 131, + "name": "Identifier", + "src": "2597:12:0" + } + ], + "id": 132, + "name": "FunctionCall", + "src": "2581:29:0" + } + ], + "id": 133, + "name": "ExpressionStatement", + "src": "2581:29:0" + }, + { + "attributes": { + "assignments": [ + 135 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_ownerTokens", + "scope": 150, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 134, + "name": "ElementaryTypeName", + "src": "2659:7:0" + } + ], + "id": 135, + "name": "VariableDeclaration", + "src": "2659:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 136, + "name": "Identifier", + "src": "2682:3:0" + } + ], + "id": 137, + "name": "MemberAccess", + "src": "2682:9:0" + } + ], + "id": 138, + "name": "MemberAccess", + "src": "2682:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 21, + "type": "uint256", + "value": "ownerRate" + }, + "id": 139, + "name": "Identifier", + "src": "2696:9:0" + } + ], + "id": 140, + "name": "FunctionCall", + "src": "2682:24:0" + } + ], + "id": 141, + "name": "VariableDeclarationStatement", + "src": "2659:47:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 142, + "name": "Identifier", + "src": "2774:5:0" + } + ], + "id": 144, + "name": "MemberAccess", + "src": "2774:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 25, + "type": "address", + "value": "tokenWallet" + }, + "id": 145, + "name": "Identifier", + "src": "2785:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 135, + "type": "uint256", + "value": "_ownerTokens" + }, + "id": 146, + "name": "Identifier", + "src": "2798:12:0" + } + ], + "id": 147, + "name": "FunctionCall", + "src": "2774:37:0" + } + ], + "id": 148, + "name": "ExpressionStatement", + "src": "2774:37:0" + } + ], + "id": 149, + "name": "Block", + "src": "2511:305:0" + } + ], + "id": 150, + "name": "FunctionDefinition", + "src": "2455:361:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "allocateTokens", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 208, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 151, + "name": "ElementaryTypeName", + "src": "2941:7:0" + } + ], + "id": 152, + "name": "VariableDeclaration", + "src": "2941:20:0" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 208, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 153, + "name": "ElementaryTypeName", + "src": "2963:7:0" + } + ], + "id": 154, + "name": "VariableDeclaration", + "src": "2963:15:0" + } + ], + "id": 155, + "name": "ParameterList", + "src": "2940:39:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 158, + "name": "ParameterList", + "src": "2997:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 156, + "name": "Identifier", + "src": "2980:9:0" + } + ], + "id": 157, + "name": "ModifierInvocation", + "src": "2980:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 159, + "name": "Identifier", + "src": "3003:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1409, + "type": "bool", + "value": "isFinalized" + }, + "id": 160, + "name": "Identifier", + "src": "3012:11:0" + } + ], + "id": 161, + "name": "UnaryOperation", + "src": "3011:12:0" + } + ], + "id": 162, + "name": "FunctionCall", + "src": "3003:21:0" + } + ], + "id": 163, + "name": "ExpressionStatement", + "src": "3003:21:0" + }, + { + "attributes": { + "assignments": [ + 165 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_weiAmount", + "scope": 208, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 164, + "name": "ElementaryTypeName", + "src": "3051:7:0" + } + ], + "id": 165, + "name": "VariableDeclaration", + "src": "3051:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1646, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 154, + "type": "uint256", + "value": "_amount" + }, + "id": 166, + "name": "Identifier", + "src": "3072:7:0" + } + ], + "id": 167, + "name": "MemberAccess", + "src": "3072:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1127, + "type": "uint256", + "value": "rate" + }, + "id": 168, + "name": "Identifier", + "src": "3084:4:0" + } + ], + "id": 169, + "name": "FunctionCall", + "src": "3072:17:0" + } + ], + "id": 170, + "name": "VariableDeclarationStatement", + "src": "3051:38:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 171, + "name": "Identifier", + "src": "3095:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 172, + "name": "Identifier", + "src": "3107:9:0" + } + ], + "id": 173, + "name": "MemberAccess", + "src": "3107:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "uint256", + "value": "_weiAmount" + }, + "id": 174, + "name": "Identifier", + "src": "3121:10:0" + } + ], + "id": 175, + "name": "FunctionCall", + "src": "3107:25:0" + } + ], + "id": 176, + "name": "Assignment", + "src": "3095:37:0" + } + ], + "id": 177, + "name": "ExpressionStatement", + "src": "3095:37:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 178, + "name": "Identifier", + "src": "3181:5:0" + } + ], + "id": 180, + "name": "MemberAccess", + "src": "3181:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 152, + "type": "address", + "value": "_beneficiary" + }, + "id": 181, + "name": "Identifier", + "src": "3192:12:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 154, + "type": "uint256", + "value": "_amount" + }, + "id": 182, + "name": "Identifier", + "src": "3206:7:0" + } + ], + "id": 183, + "name": "FunctionCall", + "src": "3181:33:0" + } + ], + "id": 184, + "name": "ExpressionStatement", + "src": "3181:33:0" + }, + { + "attributes": { + "assignments": [ + 186 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_ownerTokens", + "scope": 208, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 185, + "name": "ElementaryTypeName", + "src": "3257:7:0" + } + ], + "id": 186, + "name": "VariableDeclaration", + "src": "3257:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "uint256", + "value": "_weiAmount" + }, + "id": 187, + "name": "Identifier", + "src": "3280:10:0" + } + ], + "id": 188, + "name": "MemberAccess", + "src": "3280:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 21, + "type": "uint256", + "value": "ownerRate" + }, + "id": 189, + "name": "Identifier", + "src": "3295:9:0" + } + ], + "id": 190, + "name": "FunctionCall", + "src": "3280:25:0" + } + ], + "id": 191, + "name": "VariableDeclarationStatement", + "src": "3257:48:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 192, + "name": "Identifier", + "src": "3311:5:0" + } + ], + "id": 194, + "name": "MemberAccess", + "src": "3311:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 25, + "type": "address", + "value": "tokenWallet" + }, + "id": 195, + "name": "Identifier", + "src": "3322:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 186, + "type": "uint256", + "value": "_ownerTokens" + }, + "id": 196, + "name": "Identifier", + "src": "3335:12:0" + } + ], + "id": 197, + "name": "FunctionCall", + "src": "3311:37:0" + } + ], + "id": 198, + "name": "ExpressionStatement", + "src": "3311:37:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1139, + "type": "function (address,address,uint256,uint256)", + "value": "TokenPurchase" + }, + "id": 199, + "name": "Identifier", + "src": "3359:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 200, + "name": "Identifier", + "src": "3373:3:0" + } + ], + "id": 201, + "name": "MemberAccess", + "src": "3373:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 152, + "type": "address", + "value": "_beneficiary" + }, + "id": 202, + "name": "Identifier", + "src": "3385:12:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "uint256", + "value": "_weiAmount" + }, + "id": 203, + "name": "Identifier", + "src": "3399:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 154, + "type": "uint256", + "value": "_amount" + }, + "id": 204, + "name": "Identifier", + "src": "3411:7:0" + } + ], + "id": 205, + "name": "FunctionCall", + "src": "3359:60:0" + } + ], + "id": 206, + "name": "ExpressionStatement", + "src": "3359:60:0" + } + ], + "id": 207, + "name": "Block", + "src": "2997:427:0" + } + ], + "id": 208, + "name": "FunctionDefinition", + "src": "2917:507:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "lockupTokens", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 278, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 209, + "name": "ElementaryTypeName", + "src": "3699:7:0" + } + ], + "id": 210, + "name": "VariableDeclaration", + "src": "3699:20:0" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 278, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 211, + "name": "ElementaryTypeName", + "src": "3721:7:0" + } + ], + "id": 212, + "name": "VariableDeclaration", + "src": "3721:15:0" + } + ], + "id": 213, + "name": "ParameterList", + "src": "3698:39:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 216, + "name": "ParameterList", + "src": "3755:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 214, + "name": "Identifier", + "src": "3738:9:0" + } + ], + "id": 215, + "name": "ModifierInvocation", + "src": "3738:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 217, + "name": "Identifier", + "src": "3761:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1409, + "type": "bool", + "value": "isFinalized" + }, + "id": 218, + "name": "Identifier", + "src": "3770:11:0" + } + ], + "id": 219, + "name": "UnaryOperation", + "src": "3769:12:0" + } + ], + "id": 220, + "name": "FunctionCall", + "src": "3761:21:0" + } + ], + "id": 221, + "name": "ExpressionStatement", + "src": "3761:21:0" + }, + { + "attributes": { + "assignments": [ + 223 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_ownerTokens", + "scope": 278, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 222, + "name": "ElementaryTypeName", + "src": "3832:7:0" + } + ], + "id": 223, + "name": "VariableDeclaration", + "src": "3832:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1646, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 21, + "type": "uint256", + "value": "ownerRate" + }, + "id": 224, + "name": "Identifier", + "src": "3855:9:0" + } + ], + "id": 225, + "name": "MemberAccess", + "src": "3855:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 212, + "type": "uint256", + "value": "_amount" + }, + "id": 226, + "name": "Identifier", + "src": "3869:7:0" + } + ], + "id": 227, + "name": "FunctionCall", + "src": "3855:22:0" + } + ], + "id": 228, + "name": "MemberAccess", + "src": "3855:26:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1127, + "type": "uint256", + "value": "rate" + }, + "id": 229, + "name": "Identifier", + "src": "3882:4:0" + } + ], + "id": 230, + "name": "FunctionCall", + "src": "3855:32:0" + } + ], + "id": 231, + "name": "VariableDeclarationStatement", + "src": "3832:55:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 232, + "name": "Identifier", + "src": "3950:5:0" + } + ], + "id": 234, + "name": "MemberAccess", + "src": "3950:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 25, + "type": "address", + "value": "tokenWallet" + }, + "id": 235, + "name": "Identifier", + "src": "3961:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 223, + "type": "uint256", + "value": "_ownerTokens" + }, + "id": 236, + "name": "Identifier", + "src": "3974:12:0" + } + ], + "id": 237, + "name": "FunctionCall", + "src": "3950:37:0" + } + ], + "id": 238, + "name": "ExpressionStatement", + "src": "3950:37:0" + }, + { + "attributes": { + "assignments": [ + 240 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_lockupTokens", + "scope": 278, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 239, + "name": "ElementaryTypeName", + "src": "4048:7:0" + } + ], + "id": 240, + "name": "VariableDeclaration", + "src": "4048:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1646, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 23, + "type": "uint256", + "value": "bonusRate" + }, + "id": 241, + "name": "Identifier", + "src": "4072:9:0" + } + ], + "id": 242, + "name": "MemberAccess", + "src": "4072:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 212, + "type": "uint256", + "value": "_amount" + }, + "id": 243, + "name": "Identifier", + "src": "4086:7:0" + } + ], + "id": 244, + "name": "FunctionCall", + "src": "4072:22:0" + } + ], + "id": 245, + "name": "MemberAccess", + "src": "4072:26:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 246, + "name": "Literal", + "src": "4099:3:0" + } + ], + "id": 247, + "name": "FunctionCall", + "src": "4072:31:0" + } + ], + "id": 248, + "name": "VariableDeclarationStatement", + "src": "4048:55:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "pushAllocation", + "referencedDeclaration": 951, + "type": "function (address,uint256) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 29, + "type": "contract BRDLockup", + "value": "lockup" + }, + "id": 249, + "name": "Identifier", + "src": "4168:6:0" + } + ], + "id": 251, + "name": "MemberAccess", + "src": "4168:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 210, + "type": "address", + "value": "_beneficiary" + }, + "id": 252, + "name": "Identifier", + "src": "4190:12:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 240, + "type": "uint256", + "value": "_lockupTokens" + }, + "id": 253, + "name": "Identifier", + "src": "4204:13:0" + } + ], + "id": 254, + "name": "FunctionCall", + "src": "4168:50:0" + } + ], + "id": 255, + "name": "ExpressionStatement", + "src": "4168:50:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BRDCrowdsale_$527", + "typeString": "contract BRDCrowdsale" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 256, + "name": "Identifier", + "src": "4297:5:0" + } + ], + "id": 258, + "name": "MemberAccess", + "src": "4297:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1984, + "type": "contract BRDCrowdsale", + "value": "this" + }, + "id": 259, + "name": "Identifier", + "src": "4308:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 240, + "type": "uint256", + "value": "_lockupTokens" + }, + "id": 260, + "name": "Identifier", + "src": "4314:13:0" + } + ], + "id": 261, + "name": "FunctionCall", + "src": "4297:31:0" + } + ], + "id": 262, + "name": "ExpressionStatement", + "src": "4297:31:0" + }, + { + "attributes": { + "assignments": [ + 264 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_remainder", + "scope": 278, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 263, + "name": "ElementaryTypeName", + "src": "4388:7:0" + } + ], + "id": 264, + "name": "VariableDeclaration", + "src": "4388:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 212, + "type": "uint256", + "value": "_amount" + }, + "id": 265, + "name": "Identifier", + "src": "4409:7:0" + } + ], + "id": 266, + "name": "MemberAccess", + "src": "4409:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 240, + "type": "uint256", + "value": "_lockupTokens" + }, + "id": 267, + "name": "Identifier", + "src": "4421:13:0" + } + ], + "id": 268, + "name": "FunctionCall", + "src": "4409:26:0" + } + ], + "id": 269, + "name": "VariableDeclarationStatement", + "src": "4388:47:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 270, + "name": "Identifier", + "src": "4441:5:0" + } + ], + "id": 272, + "name": "MemberAccess", + "src": "4441:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 210, + "type": "address", + "value": "_beneficiary" + }, + "id": 273, + "name": "Identifier", + "src": "4452:12:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 264, + "type": "uint256", + "value": "_remainder" + }, + "id": 274, + "name": "Identifier", + "src": "4466:10:0" + } + ], + "id": 275, + "name": "FunctionCall", + "src": "4441:36:0" + } + ], + "id": 276, + "name": "ExpressionStatement", + "src": "4441:36:0" + } + ], + "id": 277, + "name": "Block", + "src": "3755:727:0" + } + ], + "id": 278, + "name": "FunctionDefinition", + "src": "3677:805:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "unlockTokens", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 279, + "name": "ParameterList", + "src": "4717:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_didIssueRewards", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 282, + "name": "ElementaryTypeName", + "src": "4746:4:0" + } + ], + "id": 283, + "name": "VariableDeclaration", + "src": "4746:21:0" + } + ], + "id": 284, + "name": "ParameterList", + "src": "4745:23:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 280, + "name": "Identifier", + "src": "4720:9:0" + } + ], + "id": 281, + "name": "ModifierInvocation", + "src": "4720:9:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "processInterval", + "referencedDeclaration": 817, + "type": "function () external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 29, + "type": "contract BRDLockup", + "value": "lockup" + }, + "id": 285, + "name": "Identifier", + "src": "4928:6:0" + } + ], + "id": 286, + "name": "MemberAccess", + "src": "4928:22:0" + } + ], + "id": 287, + "name": "FunctionCall", + "src": "4928:24:0" + } + ], + "id": 288, + "name": "UnaryOperation", + "src": "4927:25:0" + }, + { + "attributes": { + "functionReturnParameters": 284 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 289, + "name": "Literal", + "src": "4967:5:0" + } + ], + "id": 290, + "name": "Return", + "src": "4960:12:0" + } + ], + "id": 291, + "name": "IfStatement", + "src": "4923:49:0" + }, + { + "attributes": { + "assignments": [ + 293 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_numAllocations", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 292, + "name": "ElementaryTypeName", + "src": "5018:4:0" + } + ], + "id": 293, + "name": "VariableDeclaration", + "src": "5018:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "numAllocations", + "referencedDeclaration": 826, + "type": "function () view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 29, + "type": "contract BRDLockup", + "value": "lockup" + }, + "id": 294, + "name": "Identifier", + "src": "5041:6:0" + } + ], + "id": 295, + "name": "MemberAccess", + "src": "5041:21:0" + } + ], + "id": 296, + "name": "FunctionCall", + "src": "5041:23:0" + } + ], + "id": 297, + "name": "VariableDeclarationStatement", + "src": "5018:46:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 299 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_i", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 298, + "name": "ElementaryTypeName", + "src": "5134:4:0" + } + ], + "id": 299, + "name": "VariableDeclaration", + "src": "5134:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 300, + "name": "Literal", + "src": "5144:1:0" + } + ], + "id": 301, + "name": "VariableDeclarationStatement", + "src": "5134:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 299, + "type": "uint256", + "value": "_i" + }, + "id": 302, + "name": "Identifier", + "src": "5147:2:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 293, + "type": "uint256", + "value": "_numAllocations" + }, + "id": 303, + "name": "Identifier", + "src": "5152:15:0" + } + ], + "id": 304, + "name": "BinaryOperation", + "src": "5147:20:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 299, + "type": "uint256", + "value": "_i" + }, + "id": 305, + "name": "Identifier", + "src": "5169:2:0" + } + ], + "id": 306, + "name": "UnaryOperation", + "src": "5169:4:0" + } + ], + "id": 307, + "name": "ExpressionStatement", + "src": "5169:4:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 308, + 309, + 310 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_shouldReward", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 308, + "name": "VariableDeclaration", + "src": "5226:13:0" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 309, + "name": "VariableDeclaration", + "src": "5241:3:0" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 331, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 310, + "name": "VariableDeclaration", + "src": "5246:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple(bool,address,uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "unlock", + "referencedDeclaration": 918, + "type": "function (uint256) external returns (bool,address,uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 29, + "type": "contract BRDLockup", + "value": "lockup" + }, + "id": 311, + "name": "Identifier", + "src": "5257:6:0" + } + ], + "id": 312, + "name": "MemberAccess", + "src": "5257:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 299, + "type": "uint256", + "value": "_i" + }, + "id": 313, + "name": "Identifier", + "src": "5271:2:0" + } + ], + "id": 314, + "name": "FunctionCall", + "src": "5257:17:0" + } + ], + "id": 315, + "name": "VariableDeclarationStatement", + "src": "5221:53:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 308, + "type": "bool", + "value": "_shouldReward" + }, + "id": 316, + "name": "Identifier", + "src": "5351:13:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 1097, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 317, + "name": "Identifier", + "src": "5376:5:0" + } + ], + "id": 319, + "name": "MemberAccess", + "src": "5376:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 309, + "type": "address", + "value": "_to" + }, + "id": 320, + "name": "Identifier", + "src": "5391:3:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 310, + "type": "uint256", + "value": "_amount" + }, + "id": 321, + "name": "Identifier", + "src": "5396:7:0" + } + ], + "id": 322, + "name": "FunctionCall", + "src": "5376:28:0" + } + ], + "id": 323, + "name": "ExpressionStatement", + "src": "5376:28:0" + } + ], + "id": 324, + "name": "Block", + "src": "5366:47:0" + } + ], + "id": 325, + "name": "IfStatement", + "src": "5347:66:0" + } + ], + "id": 326, + "name": "Block", + "src": "5175:244:0" + } + ], + "id": 327, + "name": "ForStatement", + "src": "5129:290:0" + }, + { + "attributes": { + "functionReturnParameters": 284 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 328, + "name": "Literal", + "src": "5432:4:0" + } + ], + "id": 329, + "name": "Return", + "src": "5425:11:0" + } + ], + "id": 330, + "name": "Block", + "src": "4769:672:0" + } + ], + "id": 331, + "name": "FunctionDefinition", + "src": "4696:745:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setAuthorizer", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_authorizer", + "scope": 349, + "stateVariable": false, + "storageLocation": "default", + "type": "contract BRDCrowdsaleAuthorizer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BRDCrowdsaleAuthorizer", + "referencedDeclaration": 651, + "type": "contract BRDCrowdsaleAuthorizer" + }, + "id": 332, + "name": "UserDefinedTypeName", + "src": "5534:22:0" + } + ], + "id": 333, + "name": "VariableDeclaration", + "src": "5534:34:0" + } + ], + "id": 334, + "name": "ParameterList", + "src": "5533:36:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 337, + "name": "ParameterList", + "src": "5587:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 335, + "name": "Identifier", + "src": "5570:9:0" + } + ], + "id": 336, + "name": "ModifierInvocation", + "src": "5570:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 338, + "name": "Identifier", + "src": "5593:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 123, + "type": "function () view returns (bool)", + "value": "hasStarted" + }, + "id": 339, + "name": "Identifier", + "src": "5602:10:0" + } + ], + "id": 340, + "name": "FunctionCall", + "src": "5602:12:0" + } + ], + "id": 341, + "name": "UnaryOperation", + "src": "5601:13:0" + } + ], + "id": 342, + "name": "FunctionCall", + "src": "5593:22:0" + } + ], + "id": 343, + "name": "ExpressionStatement", + "src": "5593:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract BRDCrowdsaleAuthorizer" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 27, + "type": "contract BRDCrowdsaleAuthorizer", + "value": "authorizer" + }, + "id": 344, + "name": "Identifier", + "src": "5621:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 333, + "type": "contract BRDCrowdsaleAuthorizer", + "value": "_authorizer" + }, + "id": 345, + "name": "Identifier", + "src": "5634:11:0" + } + ], + "id": 346, + "name": "Assignment", + "src": "5621:24:0" + } + ], + "id": 347, + "name": "ExpressionStatement", + "src": "5621:24:0" + } + ], + "id": 348, + "name": "Block", + "src": "5587:63:0" + } + ], + "id": 349, + "name": "FunctionDefinition", + "src": "5511:139:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setLockup", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_lockup", + "scope": 367, + "stateVariable": false, + "storageLocation": "default", + "type": "contract BRDLockup", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BRDLockup", + "referencedDeclaration": 952, + "type": "contract BRDLockup" + }, + "id": 350, + "name": "UserDefinedTypeName", + "src": "5735:9:0" + } + ], + "id": 351, + "name": "VariableDeclaration", + "src": "5735:17:0" + } + ], + "id": 352, + "name": "ParameterList", + "src": "5734:19:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 355, + "name": "ParameterList", + "src": "5771:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 353, + "name": "Identifier", + "src": "5754:9:0" + } + ], + "id": 354, + "name": "ModifierInvocation", + "src": "5754:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 356, + "name": "Identifier", + "src": "5777:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 123, + "type": "function () view returns (bool)", + "value": "hasStarted" + }, + "id": 357, + "name": "Identifier", + "src": "5786:10:0" + } + ], + "id": 358, + "name": "FunctionCall", + "src": "5786:12:0" + } + ], + "id": 359, + "name": "UnaryOperation", + "src": "5785:13:0" + } + ], + "id": 360, + "name": "FunctionCall", + "src": "5777:22:0" + } + ], + "id": 361, + "name": "ExpressionStatement", + "src": "5777:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract BRDLockup" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 29, + "type": "contract BRDLockup", + "value": "lockup" + }, + "id": 362, + "name": "Identifier", + "src": "5805:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 351, + "type": "contract BRDLockup", + "value": "_lockup" + }, + "id": 363, + "name": "Identifier", + "src": "5814:7:0" + } + ], + "id": 364, + "name": "Assignment", + "src": "5805:16:0" + } + ], + "id": 365, + "name": "ExpressionStatement", + "src": "5805:16:0" + } + ], + "id": 366, + "name": "Block", + "src": "5771:55:0" + } + ], + "id": 367, + "name": "FunctionDefinition", + "src": "5716:110:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setToken", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 385, + "stateVariable": false, + "storageLocation": "default", + "type": "contract BRDToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BRDToken", + "referencedDeclaration": 1024, + "type": "contract BRDToken" + }, + "id": 368, + "name": "UserDefinedTypeName", + "src": "5909:8:0" + } + ], + "id": 369, + "name": "VariableDeclaration", + "src": "5909:15:0" + } + ], + "id": 370, + "name": "ParameterList", + "src": "5908:17:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 373, + "name": "ParameterList", + "src": "5943:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 371, + "name": "Identifier", + "src": "5926:9:0" + } + ], + "id": 372, + "name": "ModifierInvocation", + "src": "5926:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 374, + "name": "Identifier", + "src": "5949:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 123, + "type": "function () view returns (bool)", + "value": "hasStarted" + }, + "id": 375, + "name": "Identifier", + "src": "5958:10:0" + } + ], + "id": 376, + "name": "FunctionCall", + "src": "5958:12:0" + } + ], + "id": 377, + "name": "UnaryOperation", + "src": "5957:13:0" + } + ], + "id": 378, + "name": "FunctionCall", + "src": "5949:22:0" + } + ], + "id": 379, + "name": "ExpressionStatement", + "src": "5949:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract MintableToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 380, + "name": "Identifier", + "src": "5977:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 369, + "type": "contract BRDToken", + "value": "_token" + }, + "id": 381, + "name": "Identifier", + "src": "5985:6:0" + } + ], + "id": 382, + "name": "Assignment", + "src": "5977:14:0" + } + ], + "id": 383, + "name": "ExpressionStatement", + "src": "5977:14:0" + } + ], + "id": 384, + "name": "Block", + "src": "5943:53:0" + } + ], + "id": 385, + "name": "FunctionDefinition", + "src": "5891:105:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setCap", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newCap", + "scope": 409, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 386, + "name": "ElementaryTypeName", + "src": "6081:7:0" + } + ], + "id": 387, + "name": "VariableDeclaration", + "src": "6081:15:0" + } + ], + "id": 388, + "name": "ParameterList", + "src": "6080:17:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 391, + "name": "ParameterList", + "src": "6115:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 389, + "name": "Identifier", + "src": "6098:9:0" + } + ], + "id": 390, + "name": "ModifierInvocation", + "src": "6098:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 392, + "name": "Identifier", + "src": "6121:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 387, + "type": "uint256", + "value": "_newCap" + }, + "id": 393, + "name": "Identifier", + "src": "6129:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 394, + "name": "Literal", + "src": "6139:1:0" + } + ], + "id": 395, + "name": "BinaryOperation", + "src": "6129:11:0" + } + ], + "id": 396, + "name": "FunctionCall", + "src": "6121:20:0" + } + ], + "id": 397, + "name": "ExpressionStatement", + "src": "6121:20:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 398, + "name": "Identifier", + "src": "6147:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 123, + "type": "function () view returns (bool)", + "value": "hasStarted" + }, + "id": 399, + "name": "Identifier", + "src": "6156:10:0" + } + ], + "id": 400, + "name": "FunctionCall", + "src": "6156:12:0" + } + ], + "id": 401, + "name": "UnaryOperation", + "src": "6155:13:0" + } + ], + "id": 402, + "name": "FunctionCall", + "src": "6147:22:0" + } + ], + "id": 403, + "name": "ExpressionStatement", + "src": "6147:22:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "uint256", + "value": "cap" + }, + "id": 404, + "name": "Identifier", + "src": "6175:3:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 387, + "type": "uint256", + "value": "_newCap" + }, + "id": 405, + "name": "Identifier", + "src": "6181:7:0" + } + ], + "id": 406, + "name": "Assignment", + "src": "6175:13:0" + } + ], + "id": 407, + "name": "ExpressionStatement", + "src": "6175:13:0" + } + ], + "id": 408, + "name": "Block", + "src": "6115:78:0" + } + ], + "id": 409, + "name": "FunctionDefinition", + "src": "6065:128:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setMaxContribution", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newMaxContribution", + "scope": 421, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 410, + "name": "ElementaryTypeName", + "src": "6268:7:0" + } + ], + "id": 411, + "name": "VariableDeclaration", + "src": "6268:27:0" + } + ], + "id": 412, + "name": "ParameterList", + "src": "6267:29:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 415, + "name": "ParameterList", + "src": "6314:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 413, + "name": "Identifier", + "src": "6297:9:0" + } + ], + "id": 414, + "name": "ModifierInvocation", + "src": "6297:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19, + "type": "uint256", + "value": "maxContribution" + }, + "id": 416, + "name": "Identifier", + "src": "6320:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "uint256", + "value": "_newMaxContribution" + }, + "id": 417, + "name": "Identifier", + "src": "6338:19:0" + } + ], + "id": 418, + "name": "Assignment", + "src": "6320:37:0" + } + ], + "id": 419, + "name": "ExpressionStatement", + "src": "6320:37:0" + } + ], + "id": 420, + "name": "Block", + "src": "6314:48:0" + } + ], + "id": 421, + "name": "FunctionDefinition", + "src": "6240:122:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setEndTime", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newEndTime", + "scope": 433, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 422, + "name": "ElementaryTypeName", + "src": "6421:7:0" + } + ], + "id": 423, + "name": "VariableDeclaration", + "src": "6421:19:0" + } + ], + "id": 424, + "name": "ParameterList", + "src": "6420:21:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 427, + "name": "ParameterList", + "src": "6459:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 425, + "name": "Identifier", + "src": "6442:9:0" + } + ], + "id": 426, + "name": "ModifierInvocation", + "src": "6442:9:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1123, + "type": "uint256", + "value": "endTime" + }, + "id": 428, + "name": "Identifier", + "src": "6465:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 423, + "type": "uint256", + "value": "_newEndTime" + }, + "id": 429, + "name": "Identifier", + "src": "6475:11:0" + } + ], + "id": 430, + "name": "Assignment", + "src": "6465:21:0" + } + ], + "id": 431, + "name": "ExpressionStatement", + "src": "6465:21:0" + } + ], + "id": 432, + "name": "Block", + "src": "6459:32:0" + } + ], + "id": 433, + "name": "FunctionDefinition", + "src": "6401:90:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "createTokenContract", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": 1208, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 434, + "name": "ParameterList", + "src": "6569:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 445, + "stateVariable": false, + "storageLocation": "default", + "type": "contract MintableToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 1537, + "type": "contract MintableToken" + }, + "id": 435, + "name": "UserDefinedTypeName", + "src": "6590:13:0" + } + ], + "id": 436, + "name": "VariableDeclaration", + "src": "6590:13:0" + } + ], + "id": 437, + "name": "ParameterList", + "src": "6589:15:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 437 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract BRDToken", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1024, + "type": "type(contract BRDToken)", + "value": "BRDToken" + }, + "id": 438, + "name": "Identifier", + "src": "6718:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 439, + "name": "ElementaryTypeNameExpression", + "src": "6727:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 440, + "name": "Literal", + "src": "6735:1:0" + } + ], + "id": 441, + "name": "FunctionCall", + "src": "6727:10:0" + } + ], + "id": 442, + "name": "FunctionCall", + "src": "6718:20:0" + } + ], + "id": 443, + "name": "Return", + "src": "6711:27:0" + } + ], + "id": 444, + "name": "Block", + "src": "6605:138:0" + } + ], + "id": 445, + "name": "FunctionDefinition", + "src": "6541:202:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "finalization", + "payable": false, + "scope": 527, + "stateMutability": "nonpayable", + "superFunction": 1441, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 446, + "name": "ParameterList", + "src": "7025:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 447, + "name": "ParameterList", + "src": "7037:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false, + "operator": "!", + "prefix": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "finishMinting", + "referencedDeclaration": 1536, + "type": "function () external returns (bool)", + "isStructConstructorCall": false, + "names": [ + null + ], + "type_conversion": false, + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "isStructConstructorCall": false, + "names": [ + null + ], + "type_conversion": false + }, + "id": 448, + "name": "Identifier", + "src": "7062:5:0", + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function (uint256) returns (function () payable returns (bool))", + "type_conversion": false, + "member_name": "value", + "referencedDeclaration": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "gas", + "referencedDeclaration": null, + "type": "function () payable returns (bool)", + "isStructConstructorCall": false, + "names": [ + null + ], + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_200000_by_1", + "typeString": "int_const 200000" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "gas", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": null, + "type": "function () payable returns (bool)", + "value": "wallet", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call" + }, + "id": 449, + "name": "MemberAccess", + "src": "6791:11:0", + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1145, + "type": "address", + "value": "wallet" + }, + "id": 448, + "name": "Identifier", + "src": "6791:6:0" + } + ] + } + ], + "id": 450, + "name": "MemberAccess", + "src": "6791:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323030303030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 200000", + "value": "200000" + }, + "id": 451, + "name": "Literal", + "src": "6807:6:0" + } + ], + "id": 452, + "name": "FunctionCall", + "src": "6791:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "323030303030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 200000", + "value": "200000" + }, + "id": 453, + "name": "Literal", + "src": "6802:6:0" + } + ], + "id": 453, + "name": "MemberAccess", + "src": "6791:29:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 454, + "name": "Identifier", + "src": "6821:3:0" + } + ], + "id": 455, + "name": "MemberAccess", + "src": "6821:9:0" + } + ] + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1966, + "type": "msg", + "value": "msg" + }, + "id": 456, + "name": "Identifier", + "src": "6816:3:0" + } + ], + "id": 457, + "name": "MemberAccess", + "src": "6816:9:0" + } + ], + "id": 450, + "name": "MemberAccess", + "src": "7062:19:0" + } + ], + "id": 451, + "name": "FunctionCall", + "src": "7062:21:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1973, + "type": "function () pure", + "value": "revert" + }, + "id": 459, + "name": "Identifier", + "src": "6843:6:0" + } + ], + "id": 460, + "name": "FunctionCall", + "src": "6843:8:0" + } + ], + "id": 461, + "name": "ExpressionStatement", + "src": "6843:8:0" + } + ], + "id": 462, + "name": "Block", + "src": "6835:23:0" + } + ], + "id": 452, + "name": "ExpressionStatement", + "src": "7062:21:0", + "attributes": { + "falseBody": null + } + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 331, + "type": "function () returns (bool)", + "value": "unlockTokens" + }, + "id": 453, + "name": "Identifier", + "src": "7127:12:0" + } + ], + "id": 454, + "name": "FunctionCall", + "src": "7127:14:0" + } + ], + "id": 455, + "name": "ExpressionStatement", + "src": "7127:14:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "finalization", + "referencedDeclaration": 1441, + "type": "function ()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1985, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 456, + "name": "Identifier", + "src": "7148:5:0" + } + ], + "id": 458, + "name": "MemberAccess", + "src": "7148:18:0" + } + ], + "id": 459, + "name": "FunctionCall", + "src": "7148:20:0" + } + ], + "id": 460, + "name": "ExpressionStatement", + "src": "7148:20:0" + } + ], + "id": 461, + "name": "Block", + "src": "7037:136:0" + } + ], + "id": 462, + "name": "FunctionDefinition", + "src": "7004:169:0" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "validPurchase", + "payable": false, + "scope": 527, + "stateMutability": "view", + "superFunction": 1311, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 463, + "name": "ParameterList", + "src": "7479:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 464, + "name": "ElementaryTypeName", + "src": "7509:4:0" + } + ], + "id": 465, + "name": "VariableDeclaration", + "src": "7509:4:0" + } + ], + "id": 466, + "name": "ParameterList", + "src": "7508:6:0", + "attributes": { + "parameters": [ + null + ] + } + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 468 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_withinCap", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal", + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type_conversion": false + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool", + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "finishMinting", + "referencedDeclaration": 1556 + }, + "id": 467, + "name": "ElementaryTypeName", + "src": "7521:4:0", + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1139, + "type": "contract MintableToken", + "value": "token" + }, + "id": 468, + "name": "Identifier", + "src": "7047:5:0" + } + ] + } + ], + "id": 468, + "name": "VariableDeclaration", + "src": "7521:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 469, + "name": "Identifier", + "src": "7539:9:0" + } + ], + "id": 470, + "name": "MemberAccess", + "src": "7539:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 471, + "name": "Identifier", + "src": "7553:3:0" + } + ], + "id": 472, + "name": "MemberAccess", + "src": "7553:9:0" + } + ], + "id": 473, + "name": "FunctionCall", + "src": "7539:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "uint256", + "value": "cap" + }, + "id": 474, + "name": "Identifier", + "src": "7567:3:0" + } + ], + "id": 475, + "name": "BinaryOperation", + "src": "7539:31:0" + } + ], + "id": 476, + "name": "VariableDeclarationStatement", + "src": "7521:49:0" + }, + { + "attributes": { + "assignments": [ + 478 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_isAuthorized", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal", + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type_conversion": false + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool", + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 331, + "value": "unlockTokens" + }, + "id": 477, + "name": "ElementaryTypeName", + "src": "7576:4:0" + } + ], + "id": 478, + "name": "VariableDeclaration", + "src": "7576:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "isAuthorized", + "referencedDeclaration": 634, + "type": "function (address) view external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 27, + "type": "contract BRDCrowdsaleAuthorizer", + "value": "authorizer" + }, + "id": 479, + "name": "Identifier", + "src": "7597:10:0" + } + ], + "id": 480, + "name": "MemberAccess", + "src": "7597:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 481, + "name": "Identifier", + "src": "7621:3:0" + } + ], + "id": 482, + "name": "MemberAccess", + "src": "7621:10:0" + } + ], + "id": 483, + "name": "FunctionCall", + "src": "7597:35:0" + } + ], + "id": 484, + "name": "VariableDeclarationStatement", + "src": "7576:56:0" + }, + { + "attributes": { + "assignments": [ + 486 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_isMin", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal", + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type_conversion": false + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool", + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "finalization", + "referencedDeclaration": 1461 + }, + "id": 485, + "name": "ElementaryTypeName", + "src": "7638:4:0", + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2005, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 476, + "name": "Identifier", + "src": "7133:5:0" + } + ] + } + ], + "id": 486, + "name": "VariableDeclaration", + "src": "7638:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 487, + "name": "Identifier", + "src": "7652:3:0" + } + ], + "id": 488, + "name": "MemberAccess", + "src": "7652:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 17, + "type": "uint256", + "value": "minContribution" + }, + "id": 489, + "name": "Identifier", + "src": "7665:15:0" + } + ], + "id": 490, + "name": "BinaryOperation", + "src": "7652:28:0" + } + ], + "id": 491, + "name": "VariableDeclarationStatement", + "src": "7638:42:0" + }, + { + "attributes": { + "assignments": [ + 493 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_alreadyContributed", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 492, + "name": "ElementaryTypeName", + "src": "7686:7:0" + } + ], + "id": 493, + "name": "VariableDeclaration", + "src": "7686:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1646, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balanceOf", + "referencedDeclaration": 1109, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 494, + "name": "Identifier", + "src": "7716:5:0" + } + ], + "id": 495, + "name": "MemberAccess", + "src": "7716:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 496, + "name": "Identifier", + "src": "7732:3:0" + } + ], + "id": 497, + "name": "MemberAccess", + "src": "7732:10:0" + } + ], + "id": 498, + "name": "FunctionCall", + "src": "7716:27:0" + } + ], + "id": 499, + "name": "MemberAccess", + "src": "7716:31:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1127, + "type": "uint256", + "value": "rate" + }, + "id": 500, + "name": "Identifier", + "src": "7748:4:0" + } + ], + "id": 501, + "name": "FunctionCall", + "src": "7716:37:0" + } + ], + "id": 502, + "name": "VariableDeclarationStatement", + "src": "7686:67:0" + }, + { + "attributes": { + "assignments": [ + 504 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_withinMax", + "scope": 526, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 503, + "name": "ElementaryTypeName", + "src": "7759:4:0" + } + ], + "id": 504, + "name": "VariableDeclaration", + "src": "7759:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 505, + "name": "Identifier", + "src": "7777:3:0" + } + ], + "id": 506, + "name": "MemberAccess", + "src": "7777:9:0" + } + ], + "id": 507, + "name": "MemberAccess", + "src": "7777:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 493, + "type": "uint256", + "value": "_alreadyContributed" + }, + "id": 508, + "name": "Identifier", + "src": "7791:19:0" + } + ], + "id": 509, + "name": "FunctionCall", + "src": "7777:34:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19, + "type": "uint256", + "value": "maxContribution" + }, + "id": 510, + "name": "Identifier", + "src": "7815:15:0" + } + ], + "id": 511, + "name": "BinaryOperation", + "src": "7777:53:0" + } + ], + "id": 512, + "name": "VariableDeclarationStatement", + "src": "7759:71:0" + }, + { + "attributes": { + "functionReturnParameters": 466 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "validPurchase", + "referencedDeclaration": 1311, + "type": "function () view returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1985, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 513, + "name": "Identifier", + "src": "7843:5:0" + } + ], + "id": 514, + "name": "MemberAccess", + "src": "7843:19:0" + } + ], + "id": 515, + "name": "FunctionCall", + "src": "7843:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 468, + "type": "bool", + "value": "_withinCap" + }, + "id": 516, + "name": "Identifier", + "src": "7868:10:0" + } + ], + "id": 517, + "name": "BinaryOperation", + "src": "7843:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bool", + "value": "_isAuthorized" + }, + "id": 518, + "name": "Identifier", + "src": "7882:13:0" + } + ], + "id": 519, + "name": "BinaryOperation", + "src": "7843:52:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 486, + "type": "bool", + "value": "_isMin" + }, + "id": 520, + "name": "Identifier", + "src": "7899:6:0" + } + ], + "id": 521, + "name": "BinaryOperation", + "src": "7843:62:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 504, + "type": "bool", + "value": "_withinMax" + }, + "id": 522, + "name": "Identifier", + "src": "7909:10:0" + } + ], + "id": 523, + "name": "BinaryOperation", + "src": "7843:76:0" + } + ], + "id": 524, + "name": "Return", + "src": "7836:83:0" + } + ], + "id": 525, + "name": "Block", + "src": "7515:409:0" + } + ], + "id": 526, + "name": "FunctionDefinition", + "src": "7457:467:0" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "validPurchase", + "payable": false, + "scope": 547, + "stateMutability": "view", + "superFunction": 1331, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 483, + "name": "ParameterList", + "src": "7464:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 484, + "name": "ElementaryTypeName", + "src": "7494:4:0" + } + ], + "id": 485, + "name": "VariableDeclaration", + "src": "7494:4:0" + } + ], + "id": 486, + "name": "ParameterList", + "src": "7493:6:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 488 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_withinCap", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 487, + "name": "ElementaryTypeName", + "src": "7506:4:0" + } + ], + "id": 488, + "name": "VariableDeclaration", + "src": "7506:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1710, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1149, + "type": "uint256", + "value": "weiRaised" + }, + "id": 489, + "name": "Identifier", + "src": "7524:9:0" + } + ], + "id": 490, + "name": "MemberAccess", + "src": "7524:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 491, + "name": "Identifier", + "src": "7538:3:0" + } + ], + "id": 492, + "name": "MemberAccess", + "src": "7538:9:0" + } + ], + "id": 493, + "name": "FunctionCall", + "src": "7524:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "uint256", + "value": "cap" + }, + "id": 494, + "name": "Identifier", + "src": "7552:3:0" + } + ], + "id": 495, + "name": "BinaryOperation", + "src": "7524:31:0" + } + ], + "id": 496, + "name": "VariableDeclarationStatement", + "src": "7506:49:0" + }, + { + "attributes": { + "assignments": [ + 498 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_isAuthorized", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 497, + "name": "ElementaryTypeName", + "src": "7561:4:0" + } + ], + "id": 498, + "name": "VariableDeclaration", + "src": "7561:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "isAuthorized", + "referencedDeclaration": 654, + "type": "function (address) view external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 27, + "type": "contract BRDCrowdsaleAuthorizer", + "value": "authorizer" + }, + "id": 499, + "name": "Identifier", + "src": "7582:10:0" + } + ], + "id": 500, + "name": "MemberAccess", + "src": "7582:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 501, + "name": "Identifier", + "src": "7606:3:0" + } + ], + "id": 502, + "name": "MemberAccess", + "src": "7606:10:0" + } + ], + "id": 503, + "name": "FunctionCall", + "src": "7582:35:0" + } + ], + "id": 504, + "name": "VariableDeclarationStatement", + "src": "7561:56:0" + }, + { + "attributes": { + "assignments": [ + 506 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_isMin", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 505, + "name": "ElementaryTypeName", + "src": "7623:4:0" + } + ], + "id": 506, + "name": "VariableDeclaration", + "src": "7623:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 507, + "name": "Identifier", + "src": "7637:3:0" + } + ], + "id": 508, + "name": "MemberAccess", + "src": "7637:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 17, + "type": "uint256", + "value": "minContribution" + }, + "id": 509, + "name": "Identifier", + "src": "7650:15:0" + } + ], + "id": 510, + "name": "BinaryOperation", + "src": "7637:28:0" + } + ], + "id": 511, + "name": "VariableDeclarationStatement", + "src": "7623:42:0" + }, + { + "attributes": { + "assignments": [ + 513 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_alreadyContributed", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 512, + "name": "ElementaryTypeName", + "src": "7671:7:0" + } + ], + "id": 513, + "name": "VariableDeclaration", + "src": "7671:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balanceOf", + "referencedDeclaration": 1129, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1139, + "type": "contract MintableToken", + "value": "token" + }, + "id": 514, + "name": "Identifier", + "src": "7701:5:0" + } + ], + "id": 515, + "name": "MemberAccess", + "src": "7701:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 516, + "name": "Identifier", + "src": "7717:3:0" + } + ], + "id": 517, + "name": "MemberAccess", + "src": "7717:10:0" + } + ], + "id": 518, + "name": "FunctionCall", + "src": "7701:27:0" + } + ], + "id": 519, + "name": "MemberAccess", + "src": "7701:31:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1147, + "type": "uint256", + "value": "rate" + }, + "id": 520, + "name": "Identifier", + "src": "7733:4:0" + } + ], + "id": 521, + "name": "FunctionCall", + "src": "7701:37:0" + } + ], + "id": 522, + "name": "VariableDeclarationStatement", + "src": "7671:67:0" + }, + { + "attributes": { + "assignments": [ + 524 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_withinMax", + "scope": 546, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 523, + "name": "ElementaryTypeName", + "src": "7744:4:0" + } + ], + "id": 524, + "name": "VariableDeclaration", + "src": "7744:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1710, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1969, + "type": "msg", + "value": "msg" + }, + "id": 525, + "name": "Identifier", + "src": "7762:3:0" + } + ], + "id": 526, + "name": "MemberAccess", + "src": "7762:9:0" + } + ], + "id": 527, + "name": "MemberAccess", + "src": "7762:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 513, + "type": "uint256", + "value": "_alreadyContributed" + }, + "id": 528, + "name": "Identifier", + "src": "7776:19:0" + } + ], + "id": 529, + "name": "FunctionCall", + "src": "7762:34:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19, + "type": "uint256", + "value": "maxContribution" + }, + "id": 530, + "name": "Identifier", + "src": "7800:15:0" + } + ], + "id": 531, + "name": "BinaryOperation", + "src": "7762:53:0" + } + ], + "id": 532, + "name": "VariableDeclarationStatement", + "src": "7744:71:0" + }, + { + "attributes": { + "functionReturnParameters": 486 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "validPurchase", + "referencedDeclaration": 1331, + "type": "function () view returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2005, + "type": "contract super BRDCrowdsale", + "value": "super" + }, + "id": 533, + "name": "Identifier", + "src": "7828:5:0" + } + ], + "id": 534, + "name": "MemberAccess", + "src": "7828:19:0" + } + ], + "id": 535, + "name": "FunctionCall", + "src": "7828:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 488, + "type": "bool", + "value": "_withinCap" + }, + "id": 536, + "name": "Identifier", + "src": "7853:10:0" + } + ], + "id": 537, + "name": "BinaryOperation", + "src": "7828:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 498, + "type": "bool", + "value": "_isAuthorized" + }, + "id": 538, + "name": "Identifier", + "src": "7867:13:0" + } + ], + "id": 539, + "name": "BinaryOperation", + "src": "7828:52:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 506, + "type": "bool", + "value": "_isMin" + }, + "id": 540, + "name": "Identifier", + "src": "7884:6:0" + } + ], + "id": 541, + "name": "BinaryOperation", + "src": "7828:62:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "bool", + "value": "_withinMax" + }, + "id": 542, + "name": "Identifier", + "src": "7894:10:0" + } + ], + "id": 543, + "name": "BinaryOperation", + "src": "7828:76:0" + } + ], + "id": 544, + "name": "Return", + "src": "7821:83:0" + } + ], + "id": 545, + "name": "Block", + "src": "7500:409:0" + } + ], + "id": 546, + "name": "FunctionDefinition", + "src": "7442:467:0" + } + ], + "id": 527, + "name": "ContractDefinition", + "src": "324:7602:0" + } + ], + "id": 528, + "name": "SourceUnit", + "src": "0:7927:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-24T04:02:10.870Z" +} \ No newline at end of file diff --git a/build/contracts/BRDCrowdsaleAuthorizer.json b/build/contracts/BRDCrowdsaleAuthorizer.json new file mode 100644 index 0000000..d499314 --- /dev/null +++ b/build/contracts/BRDCrowdsaleAuthorizer.json @@ -0,0 +1,1815 @@ +{ + "contractName": "BRDCrowdsaleAuthorizer", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "isAuthorizer", + "outputs": [ + { + "name": "_isAuthorizer", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newAuthorizer", + "type": "address" + } + ], + "name": "addAuthorizer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_bannedAuthorizer", + "type": "address" + } + ], + "name": "removeAuthorizer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newAccount", + "type": "address" + } + ], + "name": "authorizeAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "name": "_authorized", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_to", + "type": "address" + } + ], + "name": "Authorized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061091d806100536000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a723058207bf2c31c97fdc94c3844022ea03868a49da87172ee6493a5db5132674ff28e4e0029", + "deployedBytecode": "0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806346e7ccac146100885780634a4666c1146100d95780638b69759d146101125780638da5cb5b1461014b578063a9a8679b146101a0578063f2fde38b146101d9578063fe9fbb8014610212575b600080fd5b341561009357600080fd5b6100bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610263565b604051808215151515815260200191505060405180910390f35b34156100e457600080fd5b610110600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610317565b005b341561011d57600080fd5b610149600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610421565b005b341561015657600080fd5b61015e61057a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ab57600080fd5b6101d7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061059f565b005b34156101e457600080fd5b610210600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061073f565b005b341561021d57600080fd5b610249600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610894565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610310575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103bb5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156103c657600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c55750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156104d057600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561052857600080fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106435750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561064e57600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561073c5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292460405160405180910390a25b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156107d657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151490509190505600a165627a7a723058207bf2c31c97fdc94c3844022ea03868a49da87172ee6493a5db5132674ff28e4e0029", + "sourceMap": "342:2144:1:-;;;509:10:10;501:5;;:18;;;;;;;;;;;;;;;;;;342:2144:1;;;;;;", + "deployedSourceMap": "342:2144:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1908:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;1186:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1526:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:137:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1908:155;1973:18;2020:5;;;;;;;;;;;2006:19;;:10;:19;;;:52;;;;2054:4;2029:29;;:11;:21;2041:8;2029:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;2006:52;1999:59;;1908:155;;;:::o;859:177::-;2439:5;;;;;;;;;;;2425:19;;:10;:19;;;:46;;;;2448:11;:23;2460:10;2448:23;;;;;;;;;;;;;;;;;;;;;;;;;2425:46;2417:55;;;;;;;;1027:4;997:11;:27;1009:14;997:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;859:177;:::o;1186:282::-;2439:5;;;;;;;;;;;2425:19;;:10;:19;;;:46;;;;2448:11;:23;2460:10;2448:23;;;;;;;;;;;;;;;;;;;;;;;;;2425:46;2417:55;;;;;;;;1360:11;:30;1372:17;1360:30;;;;;;;;;;;;;;;;;;;;;;;;;1352:39;;;;;;;;1433:11;:30;1445:17;1433:30;;;;;;;;;;;;;;;;1426:37;;;;;;;;;;;1186:282;:::o;238:20:10:-;;;;;;;;;;;;;:::o;1526:311:1:-;2439:5;;;;;;;;;;;2425:19;;:10;:19;;;:46;;;;2448:11;:23;2460:10;2448:23;;;;;;;;;;;;;;;;;;;;;;;;;2425:46;2417:55;;;;;;;;1613:18;:31;1632:11;1613:31;;;;;;;;;;;;;;;;;;;;;;;;;1612:32;1608:225;;;1756:4;1722:18;:31;1741:11;1722:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;1814:11;1803:23;;;;;;;;;;;;1608:225;1526:311;:::o;834:169:10:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;2163:137:1:-;2228:16;2291:4;2259:36;;:18;:28;2278:8;2259:28;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;2252:43;;2163:137;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"./zeppelin-solidity-1.4/Ownable.sol\";\n\n\n/**\n * Contract BRDCrowdsaleAuthorizer is used by the crowdsale website\n * to autorize wallets to participate in the crowdsale. Because all\n * participants must go through the KYC/AML phase, only accounts\n * listed in this contract may contribute to the crowdsale\n */\ncontract BRDCrowdsaleAuthorizer is Ownable {\n // these accounts are authorized to participate in the crowdsale\n mapping (address => bool) internal authorizedAccounts;\n // these accounts are authorized to authorize accounts\n mapping (address => bool) internal authorizers;\n\n // emitted when a new account is authorized\n event Authorized(address indexed _to);\n\n // add an authorizer to the authorizers mapping. the _newAuthorizer will\n // be able to add other authorizers and authorize crowdsale participants\n function addAuthorizer(address _newAuthorizer) onlyOwnerOrAuthorizer public {\n // allow the provided address to authorize accounts\n authorizers[_newAuthorizer] = true;\n }\n\n // remove an authorizer from the authorizers mapping. the _bannedAuthorizer will\n // no longer have permission to do anything on this contract\n function removeAuthorizer(address _bannedAuthorizer) onlyOwnerOrAuthorizer public {\n // only attempt to remove the authorizer if they are currently authorized\n require(authorizers[_bannedAuthorizer]);\n // remove the authorizer\n delete authorizers[_bannedAuthorizer];\n }\n\n // allow an account to participate in the crowdsale\n function authorizeAccount(address _newAccount) onlyOwnerOrAuthorizer public {\n if (!authorizedAccounts[_newAccount]) {\n // allow the provided account to participate in the crowdsale\n authorizedAccounts[_newAccount] = true;\n // emit the Authorized event\n Authorized(_newAccount);\n }\n }\n\n // returns whether or not the provided _account is an authorizer\n function isAuthorizer(address _account) constant public returns (bool _isAuthorizer) {\n return msg.sender == owner || authorizers[_account] == true;\n }\n\n // returns whether or not the provided _account is authorized to participate in the crowdsale\n function isAuthorized(address _account) constant public returns (bool _authorized) {\n return authorizedAccounts[_account] == true;\n }\n\n // allow only the contract creator or one of the authorizers to do this\n modifier onlyOwnerOrAuthorizer() {\n require(msg.sender == owner || authorizers[msg.sender]);\n _;\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDCrowdsaleAuthorizer.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDCrowdsaleAuthorizer.sol", + "exportedSymbols": { + "BRDCrowdsaleAuthorizer": [ + 651 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 529, + "name": "PragmaDirective", + "src": "0:24:1" + }, + { + "attributes": { + "SourceUnit": 1594, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./zeppelin-solidity-1.4/Ownable.sol", + "scope": 652, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 530, + "name": "ImportDirective", + "src": "26:45:1" + }, + { + "attributes": { + "contractDependencies": [ + 1593 + ], + "contractKind": "contract", + "documentation": "Contract BRDCrowdsaleAuthorizer is used by the crowdsale website\nto autorize wallets to participate in the crowdsale. Because all\nparticipants must go through the KYC/AML phase, only accounts\nlisted in this contract may contribute to the crowdsale", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 651, + 1593 + ], + "name": "BRDCrowdsaleAuthorizer", + "scope": 652 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 1593, + "type": "contract Ownable" + }, + "id": 531, + "name": "UserDefinedTypeName", + "src": "377:7:1" + } + ], + "id": 532, + "name": "InheritanceSpecifier", + "src": "377:7:1" + }, + { + "attributes": { + "constant": false, + "name": "authorizedAccounts", + "scope": 651, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => bool)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 533, + "name": "ElementaryTypeName", + "src": "465:7:1" + }, + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 534, + "name": "ElementaryTypeName", + "src": "476:4:1" + } + ], + "id": 535, + "name": "Mapping", + "src": "456:25:1" + } + ], + "id": 536, + "name": "VariableDeclaration", + "src": "456:53:1" + }, + { + "attributes": { + "constant": false, + "name": "authorizers", + "scope": 651, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => bool)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 537, + "name": "ElementaryTypeName", + "src": "579:7:1" + }, + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 538, + "name": "ElementaryTypeName", + "src": "590:4:1" + } + ], + "id": 539, + "name": "Mapping", + "src": "570:25:1" + } + ], + "id": 540, + "name": "VariableDeclaration", + "src": "570:46:1" + }, + { + "attributes": { + "anonymous": false, + "name": "Authorized" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 541, + "name": "ElementaryTypeName", + "src": "684:7:1" + } + ], + "id": 542, + "name": "VariableDeclaration", + "src": "684:19:1" + } + ], + "id": 543, + "name": "ParameterList", + "src": "683:21:1" + } + ], + "id": 544, + "name": "EventDefinition", + "src": "667:38:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "addAuthorizer", + "payable": false, + "scope": 651, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newAuthorizer", + "scope": 558, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 545, + "name": "ElementaryTypeName", + "src": "882:7:1" + } + ], + "id": 546, + "name": "VariableDeclaration", + "src": "882:22:1" + } + ], + "id": 547, + "name": "ParameterList", + "src": "881:24:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 550, + "name": "ParameterList", + "src": "935:0:1" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 650, + "type": "modifier ()", + "value": "onlyOwnerOrAuthorizer" + }, + "id": 548, + "name": "Identifier", + "src": "906:21:1" + } + ], + "id": 549, + "name": "ModifierInvocation", + "src": "906:21:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 540, + "type": "mapping(address => bool)", + "value": "authorizers" + }, + "id": 551, + "name": "Identifier", + "src": "997:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "address", + "value": "_newAuthorizer" + }, + "id": 552, + "name": "Identifier", + "src": "1009:14:1" + } + ], + "id": 553, + "name": "IndexAccess", + "src": "997:27:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 554, + "name": "Literal", + "src": "1027:4:1" + } + ], + "id": 555, + "name": "Assignment", + "src": "997:34:1" + } + ], + "id": 556, + "name": "ExpressionStatement", + "src": "997:34:1" + } + ], + "id": 557, + "name": "Block", + "src": "935:101:1" + } + ], + "id": 558, + "name": "FunctionDefinition", + "src": "859:177:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "removeAuthorizer", + "payable": false, + "scope": 651, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_bannedAuthorizer", + "scope": 577, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 559, + "name": "ElementaryTypeName", + "src": "1212:7:1" + } + ], + "id": 560, + "name": "VariableDeclaration", + "src": "1212:25:1" + } + ], + "id": 561, + "name": "ParameterList", + "src": "1211:27:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 564, + "name": "ParameterList", + "src": "1268:0:1" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 650, + "type": "modifier ()", + "value": "onlyOwnerOrAuthorizer" + }, + "id": 562, + "name": "Identifier", + "src": "1239:21:1" + } + ], + "id": 563, + "name": "ModifierInvocation", + "src": "1239:21:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 565, + "name": "Identifier", + "src": "1352:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 540, + "type": "mapping(address => bool)", + "value": "authorizers" + }, + "id": 566, + "name": "Identifier", + "src": "1360:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 560, + "type": "address", + "value": "_bannedAuthorizer" + }, + "id": 567, + "name": "Identifier", + "src": "1372:17:1" + } + ], + "id": 568, + "name": "IndexAccess", + "src": "1360:30:1" + } + ], + "id": 569, + "name": "FunctionCall", + "src": "1352:39:1" + } + ], + "id": 570, + "name": "ExpressionStatement", + "src": "1352:39:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 540, + "type": "mapping(address => bool)", + "value": "authorizers" + }, + "id": 571, + "name": "Identifier", + "src": "1433:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 560, + "type": "address", + "value": "_bannedAuthorizer" + }, + "id": 572, + "name": "Identifier", + "src": "1445:17:1" + } + ], + "id": 573, + "name": "IndexAccess", + "src": "1433:30:1" + } + ], + "id": 574, + "name": "UnaryOperation", + "src": "1426:37:1" + } + ], + "id": 575, + "name": "ExpressionStatement", + "src": "1426:37:1" + } + ], + "id": 576, + "name": "Block", + "src": "1268:200:1" + } + ], + "id": 577, + "name": "FunctionDefinition", + "src": "1186:282:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "authorizeAccount", + "payable": false, + "scope": 651, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newAccount", + "scope": 601, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 578, + "name": "ElementaryTypeName", + "src": "1552:7:1" + } + ], + "id": 579, + "name": "VariableDeclaration", + "src": "1552:19:1" + } + ], + "id": 580, + "name": "ParameterList", + "src": "1551:21:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 583, + "name": "ParameterList", + "src": "1602:0:1" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 650, + "type": "modifier ()", + "value": "onlyOwnerOrAuthorizer" + }, + "id": 581, + "name": "Identifier", + "src": "1573:21:1" + } + ], + "id": 582, + "name": "ModifierInvocation", + "src": "1573:21:1" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 536, + "type": "mapping(address => bool)", + "value": "authorizedAccounts" + }, + "id": 584, + "name": "Identifier", + "src": "1613:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 579, + "type": "address", + "value": "_newAccount" + }, + "id": 585, + "name": "Identifier", + "src": "1632:11:1" + } + ], + "id": 586, + "name": "IndexAccess", + "src": "1613:31:1" + } + ], + "id": 587, + "name": "UnaryOperation", + "src": "1612:32:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 536, + "type": "mapping(address => bool)", + "value": "authorizedAccounts" + }, + "id": 588, + "name": "Identifier", + "src": "1722:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 579, + "type": "address", + "value": "_newAccount" + }, + "id": 589, + "name": "Identifier", + "src": "1741:11:1" + } + ], + "id": 590, + "name": "IndexAccess", + "src": "1722:31:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 591, + "name": "Literal", + "src": "1756:4:1" + } + ], + "id": 592, + "name": "Assignment", + "src": "1722:38:1" + } + ], + "id": 593, + "name": "ExpressionStatement", + "src": "1722:38:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 544, + "type": "function (address)", + "value": "Authorized" + }, + "id": 594, + "name": "Identifier", + "src": "1803:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 579, + "type": "address", + "value": "_newAccount" + }, + "id": 595, + "name": "Identifier", + "src": "1814:11:1" + } + ], + "id": 596, + "name": "FunctionCall", + "src": "1803:23:1" + } + ], + "id": 597, + "name": "ExpressionStatement", + "src": "1803:23:1" + } + ], + "id": 598, + "name": "Block", + "src": "1646:187:1" + } + ], + "id": 599, + "name": "IfStatement", + "src": "1608:225:1" + } + ], + "id": 600, + "name": "Block", + "src": "1602:235:1" + } + ], + "id": 601, + "name": "FunctionDefinition", + "src": "1526:311:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isAuthorizer", + "payable": false, + "scope": 651, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_account", + "scope": 620, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 602, + "name": "ElementaryTypeName", + "src": "1930:7:1" + } + ], + "id": 603, + "name": "VariableDeclaration", + "src": "1930:16:1" + } + ], + "id": 604, + "name": "ParameterList", + "src": "1929:18:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_isAuthorizer", + "scope": 620, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 605, + "name": "ElementaryTypeName", + "src": "1973:4:1" + } + ], + "id": 606, + "name": "VariableDeclaration", + "src": "1973:18:1" + } + ], + "id": 607, + "name": "ParameterList", + "src": "1972:20:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 607 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 608, + "name": "Identifier", + "src": "2006:3:1" + } + ], + "id": 609, + "name": "MemberAccess", + "src": "2006:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 610, + "name": "Identifier", + "src": "2020:5:1" + } + ], + "id": 611, + "name": "BinaryOperation", + "src": "2006:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 540, + "type": "mapping(address => bool)", + "value": "authorizers" + }, + "id": 612, + "name": "Identifier", + "src": "2029:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 603, + "type": "address", + "value": "_account" + }, + "id": 613, + "name": "Identifier", + "src": "2041:8:1" + } + ], + "id": 614, + "name": "IndexAccess", + "src": "2029:21:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 615, + "name": "Literal", + "src": "2054:4:1" + } + ], + "id": 616, + "name": "BinaryOperation", + "src": "2029:29:1" + } + ], + "id": 617, + "name": "BinaryOperation", + "src": "2006:52:1" + } + ], + "id": 618, + "name": "Return", + "src": "1999:59:1" + } + ], + "id": 619, + "name": "Block", + "src": "1993:70:1" + } + ], + "id": 620, + "name": "FunctionDefinition", + "src": "1908:155:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isAuthorized", + "payable": false, + "scope": 651, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_account", + "scope": 634, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 621, + "name": "ElementaryTypeName", + "src": "2185:7:1" + } + ], + "id": 622, + "name": "VariableDeclaration", + "src": "2185:16:1" + } + ], + "id": 623, + "name": "ParameterList", + "src": "2184:18:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_authorized", + "scope": 634, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 624, + "name": "ElementaryTypeName", + "src": "2228:4:1" + } + ], + "id": 625, + "name": "VariableDeclaration", + "src": "2228:16:1" + } + ], + "id": 626, + "name": "ParameterList", + "src": "2227:18:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 626 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 536, + "type": "mapping(address => bool)", + "value": "authorizedAccounts" + }, + "id": 627, + "name": "Identifier", + "src": "2259:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 622, + "type": "address", + "value": "_account" + }, + "id": 628, + "name": "Identifier", + "src": "2278:8:1" + } + ], + "id": 629, + "name": "IndexAccess", + "src": "2259:28:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 630, + "name": "Literal", + "src": "2291:4:1" + } + ], + "id": 631, + "name": "BinaryOperation", + "src": "2259:36:1" + } + ], + "id": 632, + "name": "Return", + "src": "2252:43:1" + } + ], + "id": 633, + "name": "Block", + "src": "2246:54:1" + } + ], + "id": 634, + "name": "FunctionDefinition", + "src": "2163:137:1" + }, + { + "attributes": { + "name": "onlyOwnerOrAuthorizer", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 635, + "name": "ParameterList", + "src": "2408:2:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 636, + "name": "Identifier", + "src": "2417:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 637, + "name": "Identifier", + "src": "2425:3:1" + } + ], + "id": 638, + "name": "MemberAccess", + "src": "2425:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 639, + "name": "Identifier", + "src": "2439:5:1" + } + ], + "id": 640, + "name": "BinaryOperation", + "src": "2425:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 540, + "type": "mapping(address => bool)", + "value": "authorizers" + }, + "id": 641, + "name": "Identifier", + "src": "2448:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 642, + "name": "Identifier", + "src": "2460:3:1" + } + ], + "id": 643, + "name": "MemberAccess", + "src": "2460:10:1" + } + ], + "id": 644, + "name": "IndexAccess", + "src": "2448:23:1" + } + ], + "id": 645, + "name": "BinaryOperation", + "src": "2425:46:1" + } + ], + "id": 646, + "name": "FunctionCall", + "src": "2417:55:1" + } + ], + "id": 647, + "name": "ExpressionStatement", + "src": "2417:55:1" + }, + { + "id": 648, + "name": "PlaceholderStatement", + "src": "2478:1:1" + } + ], + "id": 649, + "name": "Block", + "src": "2411:73:1" + } + ], + "id": 650, + "name": "ModifierDefinition", + "src": "2378:106:1" + } + ], + "id": 651, + "name": "ContractDefinition", + "src": "342:2144:1" + } + ], + "id": 652, + "name": "SourceUnit", + "src": "0:2487:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x44e5336c8c3f6aaeef524dfa0b48ab4724091cec" + }, + "3": { + "events": {}, + "links": {}, + "address": "0x8f15e35f019fe2ba8e67e54e65ea84d53fdff579" + }, + "1513572932980": { + "events": {}, + "links": {}, + "address": "0x23fba818ee495258516db1666406c9b5d769d0e9" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:28:15.087Z" +} \ No newline at end of file diff --git a/build/contracts/BRDLockup.json b/build/contracts/BRDLockup.json new file mode 100644 index 0000000..bd212ec --- /dev/null +++ b/build/contracts/BRDLockup.json @@ -0,0 +1,4449 @@ +{ + "contractName": "BRDLockup", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "allocations", + "outputs": [ + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "allocation", + "type": "uint256" + }, + { + "name": "remainingBalance", + "type": "uint256" + }, + { + "name": "currentInterval", + "type": "uint256" + }, + { + "name": "currentReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "intervalDuration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentInterval", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "numAllocations", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [ + { + "name": "_shouldReward", + "type": "bool" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_rewardAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "unlockDate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_numTokens", + "type": "uint256" + } + ], + "name": "pushAllocation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "name": "allocationAmount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "numIntervals", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "processInterval", + "outputs": [ + { + "name": "_shouldProcessRewards", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_crowdsaleEndDate", + "type": "uint256" + }, + { + "name": "_numIntervals", + "type": "uint256" + }, + { + "name": "_intervalDuration", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "Unlock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051606080610d6783398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260028190555081600581905550806004819055506000600381905550505050610cbb806100ac6000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a723058209c0bb124677d934c4dd6880d0a12d08184f38712da4f338ce08a7038c258a38e0029", + "deployedBytecode": "0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630a2642bf146100bf5780633076dc421461013e578063363487bc146101675780633a2960e1146101905780636198e339146101b957806369ac57211461022e5780636dc0a997146102575780638da5cb5b14610299578063931dab50146102ee578063a31e88c214610325578063f2fde38b1461034e578063f95e630614610387575b600080fd5b34156100ca57600080fd5b6100e060048080359060200190919050506103b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014957600080fd5b610151610419565b6040518082815260200191505060405180910390f35b341561017257600080fd5b61017a61041f565b6040518082815260200191505060405180910390f35b341561019b57600080fd5b6101a3610425565b6040518082815260200191505060405180910390f35b34156101c457600080fd5b6101da6004808035906020019091905050610432565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b341561023957600080fd5b610241610683565b6040518082815260200191505060405180910390f35b341561026257600080fd5b610297600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610689565b005b34156102a457600080fd5b6102ac610821565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f957600080fd5b61030f6004808035906020019091905050610846565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610870565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610385600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610876565b005b341561039257600080fd5b61039a6109cb565b604051808215151515815260200191505060405180910390f35b6001818154811015156103c357fe5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154905085565b60045481565b60035481565b6000600180549050905090565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561049257600080fd5b6003546001858154811015156104a457fe5b9060005260206000209060050201600301541015610611576003546001858154811015156104ce57fe5b9060005260206000209060050201600301819055506105366001858154811015156104f557fe5b90600052602060002090600502016004015460018681548110151561051657fe5b906000526020600020906005020160020154610b6a90919063ffffffff16565b60018581548110151561054557fe5b90600052602060002090600502016002018190555060018481548110151561056957fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f16001868154811015156105e157fe5b9060005260206000209060050201600401546040518082815260200191505060405180910390a260019250610616565b600092505b60018481548110151561062557fe5b906000526020600020906005020160040154905060018481548110151561064857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509193909250565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106e457600080fd5b600254421015156106f457600080fd5b600180548060010182816107089190610bf7565b9160005260206000209060050201600060a0604051908101604052808673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001858152602001600081526020016000815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050508173ffffffffffffffffffffffffffffffffffffffff167f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d427826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060018281548110151561085757fe5b9060005260206000209060050201600101549050919050565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561090d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2f57600080fd5b6002544210158015610a6a5750610a53600454600354610b8390919063ffffffff16565b610a6860025442610b6a90919063ffffffff16565b115b9450600554600354109350841580610a80575083155b15610a8e5760009550610b62565b610aa46001600354610bbe90919063ffffffff16565b6003819055506001805490509250600091505b82821015610b5d576005546003541415610af357600182815481101515610ada57fe5b9060005260206000209060050201600201549050610b2b565b610b28600554600184815481101515610b0857fe5b906000526020600020906005020160010154610bdc90919063ffffffff16565b90505b80600183815481101515610b3b57fe5b9060005260206000209060050201600401819055508180600101925050610ab7565b600195505b505050505090565b6000828211151515610b7857fe5b818303905092915050565b6000806000841415610b985760009150610bb7565b8284029050828482811515610ba957fe5b04141515610bb357fe5b8091505b5092915050565b6000808284019050838110151515610bd257fe5b8091505092915050565b6000808284811515610bea57fe5b0490508091505092915050565b815481835581811511610c2457600502816005028360005260206000209182019101610c239190610c29565b5b505050565b610c8c91905b80821115610c8857600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160009055600482016000905550600501610c2f565b5090565b905600a165627a7a723058209c0bb124677d934c4dd6880d0a12d08184f38712da4f338ce08a7038c258a38e0029", + "sourceMap": "611:4265:2:-;;;1713:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:10;501:5;;:18;;;;;;;;;;;;;;;;;;1836:17:2;1823:10;:30;;;;1874:13;1859:12;:28;;;;1912:17;1893:16;:36;;;;1953:1;1935:15;:19;;;;1713:246;;;611:4265;;;;;;", + "deployedSourceMap": "611:4265:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1163:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1404;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1313:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3297:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3613:924;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1250:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4581:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3448:121:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2017:1239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1163:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1404:::-;;;;:::o;1313:30::-;;;;:::o;3297:93::-;3348:4;3367:11;:18;;;;3360:25;;3297:93;:::o;3613:924::-;3668:18;3688:20;3710:21;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;3858:15:2;;3820:11;3832:6;3820:19;;;;;;;;;;;;;;;;;;;;:35;;;:53;3816:588;;;3986:15;;3948:11;3960:6;3948:19;;;;;;;;;;;;;;;;;;;;:35;;:53;;;;4106:75;4147:11;4159:6;4147:19;;;;;;;;;;;;;;;;;;;;:33;;;4106:11;4118:6;4106:19;;;;;;;;;;;;;;;;;;;;:36;;;:40;;:75;;;;:::i;:::-;4067:11;4079:6;4067:19;;;;;;;;;;;;;;;;;;;;:36;;:114;;;;4216:11;4228:6;4216:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;4209:74;;;4249:11;4261:6;4249:19;;;;;;;;;;;;;;;;;;;;:33;;;4209:74;;;;;;;;;;;;;;;;;;4329:4;4313:20;;3816:588;;;4392:5;4376:21;;3816:588;4447:11;4459:6;4447:19;;;;;;;;;;;;;;;;;;;;:33;;;4431:49;;4501:11;4513:6;4501:19;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;4486:46;;3613:924;;;;;:::o;1250:25::-;;;;:::o;4581:293::-;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;4684:10:2;;4678:3;:16;4670:25;;;;;;;;4701:11;:132;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;4725:102;;;;;;;;;4745:12;4725:102;;;;;;4767:10;4725:102;;;;4787:10;4725:102;;;;4807:1;4725:102;;;;4818:1;4725:102;;;4701:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4844:12;4839:30;;;4858:10;4839:30;;;;;;;;;;;;;;;;;;4581:293;;:::o;238:20:10:-;;;;;;;;;;;;;:::o;3448:121:2:-;3512:7;3534:11;3546:6;3534:19;;;;;;;;;;;;;;;;;;;;:30;;;3527:37;;3448:121;;;:::o;1496:27::-;;;;:::o;834:169:10:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;2017:1239:2:-;2070:26;2147:21;2257:19;2517:22;2609:7;2720:23;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;2178:10:2;;2171:3;:17;;:80;;;;;2214:37;2234:16;;2214:15;;:19;;:37;;;;:::i;:::-;2192:19;2200:10;;2192:3;:7;;:19;;;;:::i;:::-;:59;2171:80;2147:104;;2297:12;;2279:15;;:30;2257:52;;2320:16;2319:17;:36;;;;2341:14;2340:15;2319:36;2315:60;;;2370:5;2363:12;;;;2315:60;2436:22;2456:1;2436:15;;:19;;:22;;;;:::i;:::-;2418:15;:40;;;;2542:11;:18;;;;2517:43;;2619:1;2609:11;;2604:630;2627:17;2622:2;:22;2604:630;;;2866:12;;2847:15;;:31;2843:291;;;2908:11;2920:2;2908:15;;;;;;;;;;;;;;;;;;;;:32;;;2890:50;;2843:291;;;3081:44;3112:12;;3081:11;3093:2;3081:15;;;;;;;;;;;;;;;;;;;;:26;;;:30;;:44;;;;:::i;:::-;3063:62;;2843:291;3212:15;3180:11;3192:2;3180:15;;;;;;;;;;;;;;;;;;;;:29;;:47;;;;2646:4;;;;;;;2604:630;;;3247:4;3240:11;;666:1:10;2017:1239:2;;;;;;:::o;584:110:11:-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;138:173::-;196:7;251:9;220:1;215;:6;211:35;;;238:1;231:8;;;;211:35;267:1;263;:5;251:17;;290:1;285;281;:5;;;;;;;;:10;274:18;;;;;;305:1;298:8;;138:173;;;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o;315:265::-;373:7;462:9;478:1;474;:5;;;;;;;;462:17;;574:1;567:8;;315:265;;;;;:::o;611:4265:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"./zeppelin-solidity-1.4/Ownable.sol\";\nimport \"./zeppelin-solidity-1.4/SafeMath.sol\";\n\n\n/**\n * Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens.\n * Pre-sold tokens are rewarded up to `numIntervals` times separated by an\n * `interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`)\n * is marked for reward each `interval`.\n *\n * The owner of the contract will call processInterval() which will\n * update the allocation state. The owner of the contract should then\n * read the allocation data and reward the beneficiaries.\n */\ncontract BRDLockup is Ownable {\n using SafeMath for uint256;\n\n // Allocation stores info about how many tokens to reward a beneficiary account\n struct Allocation {\n address beneficiary; // account to receive rewards\n uint256 allocation; // total allocated tokens\n uint256 remainingBalance; // remaining balance after the current interval\n uint256 currentInterval; // the current interval for the given reward\n uint256 currentReward; // amount to be rewarded during the current interval\n }\n\n // the allocation state\n Allocation[] public allocations;\n\n // the date at which allocations begin unlocking\n uint256 public unlockDate;\n\n // the current unlock interval\n uint256 public currentInterval;\n\n // the interval at which allocations will be rewarded\n uint256 public intervalDuration;\n\n // the number of total reward intervals, zero indexed\n uint256 public numIntervals;\n\n event Lock(address indexed _to, uint256 _amount);\n\n event Unlock(address indexed _to, uint256 _amount);\n\n // constructor\n // @param _crowdsaleEndDate - the date the crowdsale ends\n function BRDLockup(uint256 _crowdsaleEndDate, uint256 _numIntervals, uint256 _intervalDuration) public {\n unlockDate = _crowdsaleEndDate;\n numIntervals = _numIntervals;\n intervalDuration = _intervalDuration;\n currentInterval = 0;\n }\n\n // update the allocation storage remaining balances\n function processInterval() onlyOwner public returns (bool _shouldProcessRewards) {\n // ensure the time interval is correct\n bool _correctInterval = now >= unlockDate && now.sub(unlockDate) > currentInterval.mul(intervalDuration);\n bool _validInterval = currentInterval < numIntervals;\n if (!_correctInterval || !_validInterval)\n return false;\n\n // advance the current interval\n currentInterval = currentInterval.add(1);\n\n // number of iterations to read all allocations\n uint _allocationsIndex = allocations.length;\n\n // loop through every allocation\n for (uint _i = 0; _i < _allocationsIndex; _i++) {\n // the current reward for the allocation at index `i`\n uint256 _amountToReward;\n\n // if we are at the last interval, the reward amount is the entire remaining balance\n if (currentInterval == numIntervals) {\n _amountToReward = allocations[_i].remainingBalance;\n } else {\n // otherwise the reward amount is the total allocation divided by the number of intervals\n _amountToReward = allocations[_i].allocation.div(numIntervals);\n }\n // update the allocation storage\n allocations[_i].currentReward = _amountToReward;\n }\n\n return true;\n }\n\n // the total number of allocations\n function numAllocations() constant public returns (uint) {\n return allocations.length;\n }\n\n // the amount allocated for beneficiary at `_index`\n function allocationAmount(uint _index) constant public returns (uint256) {\n return allocations[_index].allocation;\n }\n\n // reward the beneficiary at `_index`\n function unlock(uint _index) onlyOwner public returns (bool _shouldReward, address _beneficiary, uint256 _rewardAmount) {\n // ensure the beneficiary is not rewarded twice during the same interval\n if (allocations[_index].currentInterval < currentInterval) {\n // record the currentInterval so the above check is useful\n allocations[_index].currentInterval = currentInterval;\n // subtract the reward from their remaining balance\n allocations[_index].remainingBalance = allocations[_index].remainingBalance.sub(allocations[_index].currentReward);\n // emit event\n Unlock(allocations[_index].beneficiary, allocations[_index].currentReward);\n // return value\n _shouldReward = true;\n } else {\n // return value\n _shouldReward = false;\n }\n\n // return values\n _rewardAmount = allocations[_index].currentReward;\n _beneficiary = allocations[_index].beneficiary;\n }\n\n // add a new allocation to the lockup\n function pushAllocation(address _beneficiary, uint256 _numTokens) onlyOwner public {\n require(now < unlockDate);\n allocations.push(\n Allocation(\n _beneficiary,\n _numTokens,\n _numTokens,\n 0,\n 0\n )\n );\n Lock(_beneficiary, _numTokens);\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDLockup.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDLockup.sol", + "exportedSymbols": { + "BRDLockup": [ + 952 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 653, + "name": "PragmaDirective", + "src": "0:24:2" + }, + { + "attributes": { + "SourceUnit": 1594, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./zeppelin-solidity-1.4/Ownable.sol", + "scope": 953, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 654, + "name": "ImportDirective", + "src": "26:45:2" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./zeppelin-solidity-1.4/SafeMath.sol", + "scope": 953, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 655, + "name": "ImportDirective", + "src": "72:46:2" + }, + { + "attributes": { + "contractDependencies": [ + 1593 + ], + "contractKind": "contract", + "documentation": "Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens.\nPre-sold tokens are rewarded up to `numIntervals` times separated by an\n`interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`)\nis marked for reward each `interval`.\n * The owner of the contract will call processInterval() which will\nupdate the allocation state. The owner of the contract should then\nread the allocation data and reward the beneficiaries.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 952, + 1593 + ], + "name": "BRDLockup", + "scope": 953 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 1593, + "type": "contract Ownable" + }, + "id": 656, + "name": "UserDefinedTypeName", + "src": "633:7:2" + } + ], + "id": 657, + "name": "InheritanceSpecifier", + "src": "633:7:2" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 658, + "name": "UserDefinedTypeName", + "src": "651:8:2" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 659, + "name": "ElementaryTypeName", + "src": "664:7:2" + } + ], + "id": 660, + "name": "UsingForDirective", + "src": "645:27:2" + }, + { + "attributes": { + "canonicalName": "BRDLockup.Allocation", + "name": "Allocation", + "scope": 952, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 671, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 661, + "name": "ElementaryTypeName", + "src": "782:7:2" + } + ], + "id": 662, + "name": "VariableDeclaration", + "src": "782:19:2" + }, + { + "attributes": { + "constant": false, + "name": "allocation", + "scope": 671, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 663, + "name": "ElementaryTypeName", + "src": "842:7:2" + } + ], + "id": 664, + "name": "VariableDeclaration", + "src": "842:18:2" + }, + { + "attributes": { + "constant": false, + "name": "remainingBalance", + "scope": 671, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 665, + "name": "ElementaryTypeName", + "src": "898:7:2" + } + ], + "id": 666, + "name": "VariableDeclaration", + "src": "898:24:2" + }, + { + "attributes": { + "constant": false, + "name": "currentInterval", + "scope": 671, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 667, + "name": "ElementaryTypeName", + "src": "976:7:2" + } + ], + "id": 668, + "name": "VariableDeclaration", + "src": "976:23:2" + }, + { + "attributes": { + "constant": false, + "name": "currentReward", + "scope": 671, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 669, + "name": "ElementaryTypeName", + "src": "1051:7:2" + } + ], + "id": 670, + "name": "VariableDeclaration", + "src": "1051:21:2" + } + ], + "id": 671, + "name": "StructDefinition", + "src": "758:375:2" + }, + { + "attributes": { + "constant": false, + "name": "allocations", + "scope": 952, + "stateVariable": true, + "storageLocation": "default", + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "struct BRDLockup.Allocation storage ref[] storage pointer" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Allocation", + "referencedDeclaration": 671, + "type": "struct BRDLockup.Allocation storage pointer" + }, + "id": 672, + "name": "UserDefinedTypeName", + "src": "1163:10:2" + } + ], + "id": 673, + "name": "ArrayTypeName", + "src": "1163:12:2" + } + ], + "id": 674, + "name": "VariableDeclaration", + "src": "1163:31:2" + }, + { + "attributes": { + "constant": false, + "name": "unlockDate", + "scope": 952, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 675, + "name": "ElementaryTypeName", + "src": "1250:7:2" + } + ], + "id": 676, + "name": "VariableDeclaration", + "src": "1250:25:2" + }, + { + "attributes": { + "constant": false, + "name": "currentInterval", + "scope": 952, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 677, + "name": "ElementaryTypeName", + "src": "1313:7:2" + } + ], + "id": 678, + "name": "VariableDeclaration", + "src": "1313:30:2" + }, + { + "attributes": { + "constant": false, + "name": "intervalDuration", + "scope": 952, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 679, + "name": "ElementaryTypeName", + "src": "1404:7:2" + } + ], + "id": 680, + "name": "VariableDeclaration", + "src": "1404:31:2" + }, + { + "attributes": { + "constant": false, + "name": "numIntervals", + "scope": 952, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 681, + "name": "ElementaryTypeName", + "src": "1496:7:2" + } + ], + "id": 682, + "name": "VariableDeclaration", + "src": "1496:27:2" + }, + { + "attributes": { + "anonymous": false, + "name": "Lock" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 688, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 683, + "name": "ElementaryTypeName", + "src": "1539:7:2" + } + ], + "id": 684, + "name": "VariableDeclaration", + "src": "1539:19:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amount", + "scope": 688, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 685, + "name": "ElementaryTypeName", + "src": "1560:7:2" + } + ], + "id": 686, + "name": "VariableDeclaration", + "src": "1560:15:2" + } + ], + "id": 687, + "name": "ParameterList", + "src": "1538:38:2" + } + ], + "id": 688, + "name": "EventDefinition", + "src": "1528:49:2" + }, + { + "attributes": { + "anonymous": false, + "name": "Unlock" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 694, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 689, + "name": "ElementaryTypeName", + "src": "1594:7:2" + } + ], + "id": 690, + "name": "VariableDeclaration", + "src": "1594:19:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amount", + "scope": 694, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 691, + "name": "ElementaryTypeName", + "src": "1615:7:2" + } + ], + "id": 692, + "name": "VariableDeclaration", + "src": "1615:15:2" + } + ], + "id": 693, + "name": "ParameterList", + "src": "1593:38:2" + } + ], + "id": 694, + "name": "EventDefinition", + "src": "1581:51:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "BRDLockup", + "payable": false, + "scope": 952, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_crowdsaleEndDate", + "scope": 720, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 695, + "name": "ElementaryTypeName", + "src": "1732:7:2" + } + ], + "id": 696, + "name": "VariableDeclaration", + "src": "1732:25:2" + }, + { + "attributes": { + "constant": false, + "name": "_numIntervals", + "scope": 720, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 697, + "name": "ElementaryTypeName", + "src": "1759:7:2" + } + ], + "id": 698, + "name": "VariableDeclaration", + "src": "1759:21:2" + }, + { + "attributes": { + "constant": false, + "name": "_intervalDuration", + "scope": 720, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 699, + "name": "ElementaryTypeName", + "src": "1782:7:2" + } + ], + "id": 700, + "name": "VariableDeclaration", + "src": "1782:25:2" + } + ], + "id": 701, + "name": "ParameterList", + "src": "1731:77:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 702, + "name": "ParameterList", + "src": "1817:0:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 676, + "type": "uint256", + "value": "unlockDate" + }, + "id": 703, + "name": "Identifier", + "src": "1823:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 696, + "type": "uint256", + "value": "_crowdsaleEndDate" + }, + "id": 704, + "name": "Identifier", + "src": "1836:17:2" + } + ], + "id": 705, + "name": "Assignment", + "src": "1823:30:2" + } + ], + "id": 706, + "name": "ExpressionStatement", + "src": "1823:30:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 682, + "type": "uint256", + "value": "numIntervals" + }, + "id": 707, + "name": "Identifier", + "src": "1859:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 698, + "type": "uint256", + "value": "_numIntervals" + }, + "id": 708, + "name": "Identifier", + "src": "1874:13:2" + } + ], + "id": 709, + "name": "Assignment", + "src": "1859:28:2" + } + ], + "id": 710, + "name": "ExpressionStatement", + "src": "1859:28:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 680, + "type": "uint256", + "value": "intervalDuration" + }, + "id": 711, + "name": "Identifier", + "src": "1893:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 700, + "type": "uint256", + "value": "_intervalDuration" + }, + "id": 712, + "name": "Identifier", + "src": "1912:17:2" + } + ], + "id": 713, + "name": "Assignment", + "src": "1893:36:2" + } + ], + "id": 714, + "name": "ExpressionStatement", + "src": "1893:36:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 715, + "name": "Identifier", + "src": "1935:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 716, + "name": "Literal", + "src": "1953:1:2" + } + ], + "id": 717, + "name": "Assignment", + "src": "1935:19:2" + } + ], + "id": 718, + "name": "ExpressionStatement", + "src": "1935:19:2" + } + ], + "id": 719, + "name": "Block", + "src": "1817:142:2" + } + ], + "id": 720, + "name": "FunctionDefinition", + "src": "1713:246:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "processInterval", + "payable": false, + "scope": 952, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 721, + "name": "ParameterList", + "src": "2041:2:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_shouldProcessRewards", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 724, + "name": "ElementaryTypeName", + "src": "2070:4:2" + } + ], + "id": 725, + "name": "VariableDeclaration", + "src": "2070:26:2" + } + ], + "id": 726, + "name": "ParameterList", + "src": "2069:28:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 722, + "name": "Identifier", + "src": "2044:9:2" + } + ], + "id": 723, + "name": "ModifierInvocation", + "src": "2044:9:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 728 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_correctInterval", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 727, + "name": "ElementaryTypeName", + "src": "2147:4:2" + } + ], + "id": 728, + "name": "VariableDeclaration", + "src": "2147:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 729, + "name": "Identifier", + "src": "2171:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 676, + "type": "uint256", + "value": "unlockDate" + }, + "id": 730, + "name": "Identifier", + "src": "2178:10:2" + } + ], + "id": 731, + "name": "BinaryOperation", + "src": "2171:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 732, + "name": "Identifier", + "src": "2192:3:2" + } + ], + "id": 733, + "name": "MemberAccess", + "src": "2192:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 676, + "type": "uint256", + "value": "unlockDate" + }, + "id": 734, + "name": "Identifier", + "src": "2200:10:2" + } + ], + "id": 735, + "name": "FunctionCall", + "src": "2192:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 736, + "name": "Identifier", + "src": "2214:15:2" + } + ], + "id": 737, + "name": "MemberAccess", + "src": "2214:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 680, + "type": "uint256", + "value": "intervalDuration" + }, + "id": 738, + "name": "Identifier", + "src": "2234:16:2" + } + ], + "id": 739, + "name": "FunctionCall", + "src": "2214:37:2" + } + ], + "id": 740, + "name": "BinaryOperation", + "src": "2192:59:2" + } + ], + "id": 741, + "name": "BinaryOperation", + "src": "2171:80:2" + } + ], + "id": 742, + "name": "VariableDeclarationStatement", + "src": "2147:104:2" + }, + { + "attributes": { + "assignments": [ + 744 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_validInterval", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 743, + "name": "ElementaryTypeName", + "src": "2257:4:2" + } + ], + "id": 744, + "name": "VariableDeclaration", + "src": "2257:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 745, + "name": "Identifier", + "src": "2279:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 682, + "type": "uint256", + "value": "numIntervals" + }, + "id": 746, + "name": "Identifier", + "src": "2297:12:2" + } + ], + "id": 747, + "name": "BinaryOperation", + "src": "2279:30:2" + } + ], + "id": 748, + "name": "VariableDeclarationStatement", + "src": "2257:52:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 728, + "type": "bool", + "value": "_correctInterval" + }, + "id": 749, + "name": "Identifier", + "src": "2320:16:2" + } + ], + "id": 750, + "name": "UnaryOperation", + "src": "2319:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 744, + "type": "bool", + "value": "_validInterval" + }, + "id": 751, + "name": "Identifier", + "src": "2341:14:2" + } + ], + "id": 752, + "name": "UnaryOperation", + "src": "2340:15:2" + } + ], + "id": 753, + "name": "BinaryOperation", + "src": "2319:36:2" + }, + { + "attributes": { + "functionReturnParameters": 726 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 754, + "name": "Literal", + "src": "2370:5:2" + } + ], + "id": 755, + "name": "Return", + "src": "2363:12:2" + } + ], + "id": 756, + "name": "IfStatement", + "src": "2315:60:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 757, + "name": "Identifier", + "src": "2418:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 758, + "name": "Identifier", + "src": "2436:15:2" + } + ], + "id": 759, + "name": "MemberAccess", + "src": "2436:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 760, + "name": "Literal", + "src": "2456:1:2" + } + ], + "id": 761, + "name": "FunctionCall", + "src": "2436:22:2" + } + ], + "id": 762, + "name": "Assignment", + "src": "2418:40:2" + } + ], + "id": 763, + "name": "ExpressionStatement", + "src": "2418:40:2" + }, + { + "attributes": { + "assignments": [ + 765 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_allocationsIndex", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 764, + "name": "ElementaryTypeName", + "src": "2517:4:2" + } + ], + "id": 765, + "name": "VariableDeclaration", + "src": "2517:22:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 766, + "name": "Identifier", + "src": "2542:11:2" + } + ], + "id": 767, + "name": "MemberAccess", + "src": "2542:18:2" + } + ], + "id": 768, + "name": "VariableDeclarationStatement", + "src": "2517:43:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 770 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_i", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 769, + "name": "ElementaryTypeName", + "src": "2609:4:2" + } + ], + "id": 770, + "name": "VariableDeclaration", + "src": "2609:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 771, + "name": "Literal", + "src": "2619:1:2" + } + ], + "id": 772, + "name": "VariableDeclarationStatement", + "src": "2609:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 770, + "type": "uint256", + "value": "_i" + }, + "id": 773, + "name": "Identifier", + "src": "2622:2:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 765, + "type": "uint256", + "value": "_allocationsIndex" + }, + "id": 774, + "name": "Identifier", + "src": "2627:17:2" + } + ], + "id": 775, + "name": "BinaryOperation", + "src": "2622:22:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 770, + "type": "uint256", + "value": "_i" + }, + "id": 776, + "name": "Identifier", + "src": "2646:2:2" + } + ], + "id": 777, + "name": "UnaryOperation", + "src": "2646:4:2" + } + ], + "id": 778, + "name": "ExpressionStatement", + "src": "2646:4:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "_amountToReward", + "scope": 817, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 779, + "name": "ElementaryTypeName", + "src": "2720:7:2" + } + ], + "id": 780, + "name": "VariableDeclaration", + "src": "2720:23:2" + } + ], + "id": 781, + "name": "VariableDeclarationStatement", + "src": "2720:23:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 782, + "name": "Identifier", + "src": "2847:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 682, + "type": "uint256", + "value": "numIntervals" + }, + "id": 783, + "name": "Identifier", + "src": "2866:12:2" + } + ], + "id": 784, + "name": "BinaryOperation", + "src": "2847:31:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 780, + "type": "uint256", + "value": "_amountToReward" + }, + "id": 785, + "name": "Identifier", + "src": "2890:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "remainingBalance", + "referencedDeclaration": 666, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 786, + "name": "Identifier", + "src": "2908:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 770, + "type": "uint256", + "value": "_i" + }, + "id": 787, + "name": "Identifier", + "src": "2920:2:2" + } + ], + "id": 788, + "name": "IndexAccess", + "src": "2908:15:2" + } + ], + "id": 789, + "name": "MemberAccess", + "src": "2908:32:2" + } + ], + "id": 790, + "name": "Assignment", + "src": "2890:50:2" + } + ], + "id": 791, + "name": "ExpressionStatement", + "src": "2890:50:2" + } + ], + "id": 792, + "name": "Block", + "src": "2880:69:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 780, + "type": "uint256", + "value": "_amountToReward" + }, + "id": 793, + "name": "Identifier", + "src": "3063:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 1646, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allocation", + "referencedDeclaration": 664, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 794, + "name": "Identifier", + "src": "3081:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 770, + "type": "uint256", + "value": "_i" + }, + "id": 795, + "name": "Identifier", + "src": "3093:2:2" + } + ], + "id": 796, + "name": "IndexAccess", + "src": "3081:15:2" + } + ], + "id": 797, + "name": "MemberAccess", + "src": "3081:26:2" + } + ], + "id": 798, + "name": "MemberAccess", + "src": "3081:30:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 682, + "type": "uint256", + "value": "numIntervals" + }, + "id": 799, + "name": "Identifier", + "src": "3112:12:2" + } + ], + "id": 800, + "name": "FunctionCall", + "src": "3081:44:2" + } + ], + "id": 801, + "name": "Assignment", + "src": "3063:62:2" + } + ], + "id": 802, + "name": "ExpressionStatement", + "src": "3063:62:2" + } + ], + "id": 803, + "name": "Block", + "src": "2955:179:2" + } + ], + "id": 804, + "name": "IfStatement", + "src": "2843:291:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "currentReward", + "referencedDeclaration": 670, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 805, + "name": "Identifier", + "src": "3180:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 770, + "type": "uint256", + "value": "_i" + }, + "id": 806, + "name": "Identifier", + "src": "3192:2:2" + } + ], + "id": 807, + "name": "IndexAccess", + "src": "3180:15:2" + } + ], + "id": 808, + "name": "MemberAccess", + "src": "3180:29:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 780, + "type": "uint256", + "value": "_amountToReward" + }, + "id": 809, + "name": "Identifier", + "src": "3212:15:2" + } + ], + "id": 810, + "name": "Assignment", + "src": "3180:47:2" + } + ], + "id": 811, + "name": "ExpressionStatement", + "src": "3180:47:2" + } + ], + "id": 812, + "name": "Block", + "src": "2652:582:2" + } + ], + "id": 813, + "name": "ForStatement", + "src": "2604:630:2" + }, + { + "attributes": { + "functionReturnParameters": 726 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 814, + "name": "Literal", + "src": "3247:4:2" + } + ], + "id": 815, + "name": "Return", + "src": "3240:11:2" + } + ], + "id": 816, + "name": "Block", + "src": "2098:1158:2" + } + ], + "id": 817, + "name": "FunctionDefinition", + "src": "2017:1239:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "numAllocations", + "payable": false, + "scope": 952, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 818, + "name": "ParameterList", + "src": "3320:2:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 826, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 819, + "name": "ElementaryTypeName", + "src": "3348:4:2" + } + ], + "id": 820, + "name": "VariableDeclaration", + "src": "3348:4:2" + } + ], + "id": 821, + "name": "ParameterList", + "src": "3347:6:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 821 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 822, + "name": "Identifier", + "src": "3367:11:2" + } + ], + "id": 823, + "name": "MemberAccess", + "src": "3367:18:2" + } + ], + "id": 824, + "name": "Return", + "src": "3360:25:2" + } + ], + "id": 825, + "name": "Block", + "src": "3354:36:2" + } + ], + "id": 826, + "name": "FunctionDefinition", + "src": "3297:93:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "allocationAmount", + "payable": false, + "scope": 952, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_index", + "scope": 839, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 827, + "name": "ElementaryTypeName", + "src": "3474:4:2" + } + ], + "id": 828, + "name": "VariableDeclaration", + "src": "3474:11:2" + } + ], + "id": 829, + "name": "ParameterList", + "src": "3473:13:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 839, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 830, + "name": "ElementaryTypeName", + "src": "3512:7:2" + } + ], + "id": 831, + "name": "VariableDeclaration", + "src": "3512:7:2" + } + ], + "id": 832, + "name": "ParameterList", + "src": "3511:9:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 832 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allocation", + "referencedDeclaration": 664, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 833, + "name": "Identifier", + "src": "3534:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 828, + "type": "uint256", + "value": "_index" + }, + "id": 834, + "name": "Identifier", + "src": "3546:6:2" + } + ], + "id": 835, + "name": "IndexAccess", + "src": "3534:19:2" + } + ], + "id": 836, + "name": "MemberAccess", + "src": "3534:30:2" + } + ], + "id": 837, + "name": "Return", + "src": "3527:37:2" + } + ], + "id": 838, + "name": "Block", + "src": "3521:48:2" + } + ], + "id": 839, + "name": "FunctionDefinition", + "src": "3448:121:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "unlock", + "payable": false, + "scope": 952, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_index", + "scope": 918, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 840, + "name": "ElementaryTypeName", + "src": "3629:4:2" + } + ], + "id": 841, + "name": "VariableDeclaration", + "src": "3629:11:2" + } + ], + "id": 842, + "name": "ParameterList", + "src": "3628:13:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_shouldReward", + "scope": 918, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 845, + "name": "ElementaryTypeName", + "src": "3668:4:2" + } + ], + "id": 846, + "name": "VariableDeclaration", + "src": "3668:18:2" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 918, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 847, + "name": "ElementaryTypeName", + "src": "3688:7:2" + } + ], + "id": 848, + "name": "VariableDeclaration", + "src": "3688:20:2" + }, + { + "attributes": { + "constant": false, + "name": "_rewardAmount", + "scope": 918, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 849, + "name": "ElementaryTypeName", + "src": "3710:7:2" + } + ], + "id": 850, + "name": "VariableDeclaration", + "src": "3710:21:2" + } + ], + "id": 851, + "name": "ParameterList", + "src": "3667:65:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 843, + "name": "Identifier", + "src": "3642:9:2" + } + ], + "id": 844, + "name": "ModifierInvocation", + "src": "3642:9:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "currentInterval", + "referencedDeclaration": 668, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 852, + "name": "Identifier", + "src": "3820:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 853, + "name": "Identifier", + "src": "3832:6:2" + } + ], + "id": 854, + "name": "IndexAccess", + "src": "3820:19:2" + } + ], + "id": 855, + "name": "MemberAccess", + "src": "3820:35:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 856, + "name": "Identifier", + "src": "3858:15:2" + } + ], + "id": 857, + "name": "BinaryOperation", + "src": "3820:53:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "currentInterval", + "referencedDeclaration": 668, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 858, + "name": "Identifier", + "src": "3948:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 859, + "name": "Identifier", + "src": "3960:6:2" + } + ], + "id": 860, + "name": "IndexAccess", + "src": "3948:19:2" + } + ], + "id": 861, + "name": "MemberAccess", + "src": "3948:35:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 678, + "type": "uint256", + "value": "currentInterval" + }, + "id": 862, + "name": "Identifier", + "src": "3986:15:2" + } + ], + "id": 863, + "name": "Assignment", + "src": "3948:53:2" + } + ], + "id": 864, + "name": "ExpressionStatement", + "src": "3948:53:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "remainingBalance", + "referencedDeclaration": 666, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 865, + "name": "Identifier", + "src": "4067:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 866, + "name": "Identifier", + "src": "4079:6:2" + } + ], + "id": 867, + "name": "IndexAccess", + "src": "4067:19:2" + } + ], + "id": 868, + "name": "MemberAccess", + "src": "4067:36:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "remainingBalance", + "referencedDeclaration": 666, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 869, + "name": "Identifier", + "src": "4106:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 870, + "name": "Identifier", + "src": "4118:6:2" + } + ], + "id": 871, + "name": "IndexAccess", + "src": "4106:19:2" + } + ], + "id": 872, + "name": "MemberAccess", + "src": "4106:36:2" + } + ], + "id": 873, + "name": "MemberAccess", + "src": "4106:40:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "currentReward", + "referencedDeclaration": 670, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 874, + "name": "Identifier", + "src": "4147:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 875, + "name": "Identifier", + "src": "4159:6:2" + } + ], + "id": 876, + "name": "IndexAccess", + "src": "4147:19:2" + } + ], + "id": 877, + "name": "MemberAccess", + "src": "4147:33:2" + } + ], + "id": 878, + "name": "FunctionCall", + "src": "4106:75:2" + } + ], + "id": 879, + "name": "Assignment", + "src": "4067:114:2" + } + ], + "id": 880, + "name": "ExpressionStatement", + "src": "4067:114:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 694, + "type": "function (address,uint256)", + "value": "Unlock" + }, + "id": 881, + "name": "Identifier", + "src": "4209:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 662, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 882, + "name": "Identifier", + "src": "4216:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 883, + "name": "Identifier", + "src": "4228:6:2" + } + ], + "id": 884, + "name": "IndexAccess", + "src": "4216:19:2" + } + ], + "id": 885, + "name": "MemberAccess", + "src": "4216:31:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "currentReward", + "referencedDeclaration": 670, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 886, + "name": "Identifier", + "src": "4249:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 887, + "name": "Identifier", + "src": "4261:6:2" + } + ], + "id": 888, + "name": "IndexAccess", + "src": "4249:19:2" + } + ], + "id": 889, + "name": "MemberAccess", + "src": "4249:33:2" + } + ], + "id": 890, + "name": "FunctionCall", + "src": "4209:74:2" + } + ], + "id": 891, + "name": "ExpressionStatement", + "src": "4209:74:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 846, + "type": "bool", + "value": "_shouldReward" + }, + "id": 892, + "name": "Identifier", + "src": "4313:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 893, + "name": "Literal", + "src": "4329:4:2" + } + ], + "id": 894, + "name": "Assignment", + "src": "4313:20:2" + } + ], + "id": 895, + "name": "ExpressionStatement", + "src": "4313:20:2" + } + ], + "id": 896, + "name": "Block", + "src": "3875:465:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 846, + "type": "bool", + "value": "_shouldReward" + }, + "id": 897, + "name": "Identifier", + "src": "4376:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 898, + "name": "Literal", + "src": "4392:5:2" + } + ], + "id": 899, + "name": "Assignment", + "src": "4376:21:2" + } + ], + "id": 900, + "name": "ExpressionStatement", + "src": "4376:21:2" + } + ], + "id": 901, + "name": "Block", + "src": "4346:58:2" + } + ], + "id": 902, + "name": "IfStatement", + "src": "3816:588:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 850, + "type": "uint256", + "value": "_rewardAmount" + }, + "id": 903, + "name": "Identifier", + "src": "4431:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "currentReward", + "referencedDeclaration": 670, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 904, + "name": "Identifier", + "src": "4447:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 905, + "name": "Identifier", + "src": "4459:6:2" + } + ], + "id": 906, + "name": "IndexAccess", + "src": "4447:19:2" + } + ], + "id": 907, + "name": "MemberAccess", + "src": "4447:33:2" + } + ], + "id": 908, + "name": "Assignment", + "src": "4431:49:2" + } + ], + "id": 909, + "name": "ExpressionStatement", + "src": "4431:49:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 848, + "type": "address", + "value": "_beneficiary" + }, + "id": 910, + "name": "Identifier", + "src": "4486:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 662, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct BRDLockup.Allocation storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 911, + "name": "Identifier", + "src": "4501:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 841, + "type": "uint256", + "value": "_index" + }, + "id": 912, + "name": "Identifier", + "src": "4513:6:2" + } + ], + "id": 913, + "name": "IndexAccess", + "src": "4501:19:2" + } + ], + "id": 914, + "name": "MemberAccess", + "src": "4501:31:2" + } + ], + "id": 915, + "name": "Assignment", + "src": "4486:46:2" + } + ], + "id": 916, + "name": "ExpressionStatement", + "src": "4486:46:2" + } + ], + "id": 917, + "name": "Block", + "src": "3733:804:2" + } + ], + "id": 918, + "name": "FunctionDefinition", + "src": "3613:924:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "pushAllocation", + "payable": false, + "scope": 952, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 951, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 919, + "name": "ElementaryTypeName", + "src": "4605:7:2" + } + ], + "id": 920, + "name": "VariableDeclaration", + "src": "4605:20:2" + }, + { + "attributes": { + "constant": false, + "name": "_numTokens", + "scope": 951, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 921, + "name": "ElementaryTypeName", + "src": "4627:7:2" + } + ], + "id": 922, + "name": "VariableDeclaration", + "src": "4627:18:2" + } + ], + "id": 923, + "name": "ParameterList", + "src": "4604:42:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 926, + "name": "ParameterList", + "src": "4664:0:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 924, + "name": "Identifier", + "src": "4647:9:2" + } + ], + "id": 925, + "name": "ModifierInvocation", + "src": "4647:9:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 927, + "name": "Identifier", + "src": "4670:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 928, + "name": "Identifier", + "src": "4678:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 676, + "type": "uint256", + "value": "unlockDate" + }, + "id": 929, + "name": "Identifier", + "src": "4684:10:2" + } + ], + "id": 930, + "name": "BinaryOperation", + "src": "4678:16:2" + } + ], + "id": 931, + "name": "FunctionCall", + "src": "4670:25:2" + } + ], + "id": 932, + "name": "ExpressionStatement", + "src": "4670:25:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Allocation_$671_memory", + "typeString": "struct BRDLockup.Allocation memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "push", + "referencedDeclaration": null, + "type": "function (struct BRDLockup.Allocation storage ref) returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "struct BRDLockup.Allocation storage ref[] storage ref", + "value": "allocations" + }, + "id": 933, + "name": "Identifier", + "src": "4701:11:2" + } + ], + "id": 935, + "name": "MemberAccess", + "src": "4701:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + null + ], + "type": "struct BRDLockup.Allocation memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 671, + "type": "type(struct BRDLockup.Allocation storage pointer)", + "value": "Allocation" + }, + "id": 936, + "name": "Identifier", + "src": "4725:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 920, + "type": "address", + "value": "_beneficiary" + }, + "id": 937, + "name": "Identifier", + "src": "4745:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 922, + "type": "uint256", + "value": "_numTokens" + }, + "id": 938, + "name": "Identifier", + "src": "4767:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 922, + "type": "uint256", + "value": "_numTokens" + }, + "id": 939, + "name": "Identifier", + "src": "4787:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 940, + "name": "Literal", + "src": "4807:1:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 941, + "name": "Literal", + "src": "4818:1:2" + } + ], + "id": 942, + "name": "FunctionCall", + "src": "4725:102:2" + } + ], + "id": 943, + "name": "FunctionCall", + "src": "4701:132:2" + } + ], + "id": 944, + "name": "ExpressionStatement", + "src": "4701:132:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 688, + "type": "function (address,uint256)", + "value": "Lock" + }, + "id": 945, + "name": "Identifier", + "src": "4839:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 920, + "type": "address", + "value": "_beneficiary" + }, + "id": 946, + "name": "Identifier", + "src": "4844:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 922, + "type": "uint256", + "value": "_numTokens" + }, + "id": 947, + "name": "Identifier", + "src": "4858:10:2" + } + ], + "id": 948, + "name": "FunctionCall", + "src": "4839:30:2" + } + ], + "id": 949, + "name": "ExpressionStatement", + "src": "4839:30:2" + } + ], + "id": 950, + "name": "Block", + "src": "4664:210:2" + } + ], + "id": 951, + "name": "FunctionDefinition", + "src": "4581:293:2" + } + ], + "id": 952, + "name": "ContractDefinition", + "src": "611:4265:2" + } + ], + "id": 953, + "name": "SourceUnit", + "src": "0:4877:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xbd56ee9f92d70de3560dc698c4bc13a8e3c420b9" + }, + "3": { + "events": {}, + "links": {}, + "address": "0xfe49af6bb9cb5f822a12775a69d3c2656dd34d6c" + }, + "1513572932980": { + "events": {}, + "links": {}, + "address": "0x89b260a438086b0ba0a51f830c72b6f75005f139" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:28:15.093Z" +} \ No newline at end of file diff --git a/build/contracts/BRDToken.json b/build/contracts/BRDToken.json new file mode 100644 index 0000000..2415a75 --- /dev/null +++ b/build/contracts/BRDToken.json @@ -0,0 +1,1449 @@ +{ + "contractName": "BRDToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "mintingFinished", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finishMinting", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "MintFinished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x60606040526000600360146101000a81548160ff0219169083151502179055506040805190810160405280600b81526020017f427265616420546f6b656e000000000000000000000000000000000000000000815250600490805190602001906200006c92919062000107565b506040805190810160405280600381526020017f425244000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000ba92919062000107565b50601260065533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014a57805160ff19168380011785556200017b565b828001600101855582156200017b579182015b828111156200017a5782518255916020019190600101906200015d565b5b5090506200018a91906200018e565b5090565b620001b391905b80821115620001af57600081600090555060010162000195565b5090565b90565b61196380620001c66000396000f3006060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820d3b74f7871a7dc547fb403a6767a9398e330436beecb61bd55409c3ef3c31ec00029", + "deployedBytecode": "0x6060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100eb57806306fdde0314610118578063095ea7b3146101a657806318160ddd1461020057806323b872dd14610229578063313ce567146102a257806340c10f19146102cb578063661884631461032557806370a082311461037f5780637d64bcb4146103cc5780638da5cb5b146103f957806395d89b411461044e578063a9059cbb146104dc578063d73dd62314610536578063dd62ed3e14610590578063f2fde38b146105fc575b600080fd5b34156100f657600080fd5b6100fe610635565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b610648565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b157600080fd5b6101e6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e6565b604051808215151515815260200191505060405180910390f35b341561020b57600080fd5b6102136107d8565b6040518082815260200191505060405180910390f35b341561023457600080fd5b610288600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107de565b604051808215151515815260200191505060405180910390f35b34156102ad57600080fd5b6102b5610867565b6040518082815260200191505060405180910390f35b34156102d657600080fd5b61030b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061086d565b604051808215151515815260200191505060405180910390f35b341561033057600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a55565b604051808215151515815260200191505060405180910390f35b341561038a57600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ce6565b6040518082815260200191505060405180910390f35b34156103d757600080fd5b6103df610d2f565b604051808215151515815260200191505060405180910390f35b341561040457600080fd5b61040c610df7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045957600080fd5b610461610e1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a1578082015181840152602081019050610486565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e757600080fd5b61051c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebb565b604051808215151515815260200191505060405180910390f35b341561054157600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f42565b604051808215151515815260200191505060405180910390f35b341561059b57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113e565b6040518082815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111c5565b005b600360149054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106de5780601f106106b3576101008083540402835291602001916106de565b820191906000526020600020905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000600360149054906101000a900460ff16806108485750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561085357600080fd5b61085e84848461131d565b90509392505050565b60065481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108cb57600080fd5b600360149054906101000a900460ff161515156108e757600080fd5b6108fc826000546116dc90919063ffffffff16565b60008190555061095482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610b66576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bfa565b610b7983826116fa90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8d57600080fd5b600360149054906101000a900460ff16151515610da957600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b505050505081565b6000600360149054906101000a900460ff1680610f255750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f3057600080fd5b610f3a8383611713565b905092915050565b6000610fd382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561125d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561135a57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113a857600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561143357600080fd5b61148582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008082840190508381101515156116f057fe5b8091505092915050565b600082821115151561170857fe5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561175057600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561179e57600080fd5b6117f082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fa90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820d3b74f7871a7dc547fb403a6767a9398e330436beecb61bd55409c3ef3c31ec00029", + "sourceMap": "127:780:3:-;;;533:5:9;503:35;;;;;;;;;;;;;;;;;;;;197:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;235:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;293:2;267:28;;509:10:10;501:5;;:18;;;;;;;;;;;;;;;;;;127:780:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "127:780:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:35:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;197:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:197:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;267:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;842:262:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:398:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:107:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:135:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;235:28:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;738:167:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2667:257:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:35:9;;;;;;;;;;;;;:::o;197:34:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1799:183:12:-;1866:4;1910:6;1878:7;:19;1886:10;1878:19;;;;;;;;;;;;;;;:29;1898:8;1878:29;;;;;;;;;;;;;;;:38;;;;1943:8;1922:38;;1931:10;1922:38;;;1953:6;1922:38;;;;;;;;;;;;;;;;;;1973:4;1966:11;;1799:183;;;;:::o;179:26:7:-;;;;:::o;421:197:3:-;503:4;523:15;;;;;;;;;;;:38;;;;556:5;;;;;;;;;;;542:19;;:10;:19;;;523:38;515:47;;;;;;;;575:38;594:5;601:3;606:6;575:18;:38::i;:::-;568:45;;421:197;;;;;:::o;267:28::-;;;;:::o;842:262:9:-;920:4;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;578:15:9;;;;;;;;;;;577:16;569:25;;;;;;;;946:24;962:7;946:11;;:15;;:24;;;;:::i;:::-;932:11;:38;;;;992:26;1010:7;992:8;:13;1001:3;992:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;976:8;:13;985:3;976:13;;;;;;;;;;;;;;;:42;;;;1029:3;1024:18;;;1034:7;1024:18;;;;;;;;;;;;;;;;;;1069:3;1048:34;;1065:1;1048:34;;;1074:7;1048:34;;;;;;;;;;;;;;;;;;1095:4;1088:11;;842:262;;;;:::o;2928:398:12:-;3011:4;3023:13;3039:7;:19;3047:10;3039:19;;;;;;;;;;;;;;;:29;3059:8;3039:29;;;;;;;;;;;;;;;;3023:45;;3097:8;3078:16;:27;3074:164;;;3147:1;3115:7;:19;3123:10;3115:19;;;;;;;;;;;;;;;:29;3135:8;3115:29;;;;;;;;;;;;;;;:33;;;;3074:164;;;3201:30;3214:16;3201:8;:12;;:30;;;;:::i;:::-;3169:7;:19;3177:10;3169:19;;;;;;;;;;;;;;;:29;3189:8;3169:29;;;;;;;;;;;;;;;:62;;;;3074:164;3264:8;3243:61;;3252:10;3243:61;;;3274:7;:19;3282:10;3274:19;;;;;;;;;;;;;;;:29;3294:8;3274:29;;;;;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;;;;3317:4;3310:11;;2928:398;;;;;:::o;1012:107:4:-;1068:15;1098:8;:16;1107:6;1098:16;;;;;;;;;;;;;;;;1091:23;;1012:107;;;:::o;1218:135:9:-;1277:4;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;578:15:9;;;;;;;;;;;577:16;569:25;;;;;;;;1307:4;1289:15;;:22;;;;;;;;;;;;;;;;;;1317:14;;;;;;;;;;1344:4;1337:11;;1218:135;:::o;238:20:10:-;;;;;;;;;;;;;:::o;235:28:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;738:167::-;801:4;821:15;;;;;;;;;;;:38;;;;854:5;;;;;;;;;;;840:19;;:10;:19;;;821:38;813:47;;;;;;;;873:27;888:3;893:6;873:14;:27::i;:::-;866:34;;738:167;;;;:::o;2667:257:12:-;2745:4;2789:46;2823:11;2789:7;:19;2797:10;2789:19;;;;;;;;;;;;;;;:29;2809:8;2789:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2757:7;:19;2765:10;2757:19;;;;;;;;;;;;;;;:29;2777:8;2757:29;;;;;;;;;;;;;;;:78;;;;2862:8;2841:61;;2850:10;2841:61;;;2872:7;:19;2880:10;2872:19;;;;;;;;;;;;;;;:29;2892:8;2872:29;;;;;;;;;;;;;;;;2841:61;;;;;;;;;;;;;;;;;;2915:4;2908:11;;2667:257;;;;:::o;2301:126::-;2375:7;2397;:15;2405:6;2397:15;;;;;;;;;;;;;;;:25;2413:8;2397:25;;;;;;;;;;;;;;;;2390:32;;2301:126;;;;:::o;834:169:10:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;737:439:12:-;819:4;854:1;839:17;;:3;:17;;;;831:26;;;;;;;;881:8;:15;890:5;881:15;;;;;;;;;;;;;;;;871:6;:25;;863:34;;;;;;;;921:7;:14;929:5;921:14;;;;;;;;;;;;;;;:26;936:10;921:26;;;;;;;;;;;;;;;;911:6;:36;;903:45;;;;;;;;973:27;993:6;973:8;:15;982:5;973:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;955:8;:15;964:5;955:15;;;;;;;;;;;;;;;:45;;;;1022:25;1040:6;1022:8;:13;1031:3;1022:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1006:8;:13;1015:3;1006:13;;;;;;;;;;;;;;;:41;;;;1082:38;1113:6;1082:7;:14;1090:5;1082:14;;;;;;;;;;;;;;;:26;1097:10;1082:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1053:7;:14;1061:5;1053:14;;;;;;;;;;;;;;;:26;1068:10;1053:26;;;;;;;;;;;;;;;:67;;;;1142:3;1126:28;;1135:5;1126:28;;;1147:6;1126:28;;;;;;;;;;;;;;;;;;1167:4;1160:11;;737:439;;;;;:::o;698:129:11:-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o;584:110::-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;431:379:4:-;494:4;529:1;514:17;;:3;:17;;;;506:26;;;;;;;;556:8;:20;565:10;556:20;;;;;;;;;;;;;;;;546:6;:30;;538:39;;;;;;;;670:32;695:6;670:8;:20;679:10;670:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;647:8;:20;656:10;647:20;;;;;;;;;;;;;;;:55;;;;724:25;742:6;724:8;:13;733:3;724:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;708:8;:13;717:3;708:13;;;;;;;;;;;;;;;:41;;;;776:3;755:33;;764:10;755:33;;;781:6;755:33;;;;;;;;;;;;;;;;;;801:4;794:11;;431:379;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"./zeppelin-solidity-1.4/MintableToken.sol\";\nimport \"./zeppelin-solidity-1.4/SafeMath.sol\";\n\n\ncontract BRDToken is MintableToken {\n using SafeMath for uint256;\n\n string public name = \"Bread Token\";\n string public symbol = \"BRD\";\n uint256 public decimals = 18;\n\n // override StandardToken#transferFrom\n // ensures that minting has finished or the message sender is the token owner\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(mintingFinished || msg.sender == owner);\n return super.transferFrom(_from, _to, _value);\n }\n\n // override StandardToken#transfer\n // ensures the minting has finished or the message sender is the token owner\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(mintingFinished || msg.sender == owner);\n return super.transfer(_to, _value);\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDToken.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDToken.sol", + "exportedSymbols": { + "BRDToken": [ + 1024 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 954, + "name": "PragmaDirective", + "src": "0:24:3" + }, + { + "attributes": { + "SourceUnit": 1538, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/MintableToken.sol", + "file": "./zeppelin-solidity-1.4/MintableToken.sol", + "scope": 1025, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 955, + "name": "ImportDirective", + "src": "26:51:3" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./zeppelin-solidity-1.4/SafeMath.sol", + "scope": 1025, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 956, + "name": "ImportDirective", + "src": "78:46:3" + }, + { + "attributes": { + "contractDependencies": [ + 1110, + 1365, + 1394, + 1537, + 1593, + 1937 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1024, + 1537, + 1593, + 1937, + 1110, + 1365, + 1394 + ], + "name": "BRDToken", + "scope": 1025 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 1537, + "type": "contract MintableToken" + }, + "id": 957, + "name": "UserDefinedTypeName", + "src": "148:13:3" + } + ], + "id": 958, + "name": "InheritanceSpecifier", + "src": "148:13:3" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 959, + "name": "UserDefinedTypeName", + "src": "172:8:3" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 960, + "name": "ElementaryTypeName", + "src": "185:7:3" + } + ], + "id": 961, + "name": "UsingForDirective", + "src": "166:27:3" + }, + { + "attributes": { + "constant": false, + "name": "name", + "scope": 1024, + "stateVariable": true, + "storageLocation": "default", + "type": "string storage ref", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 962, + "name": "ElementaryTypeName", + "src": "197:6:3" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "427265616420546f6b656e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"Bread Token\"", + "value": "Bread Token" + }, + "id": 963, + "name": "Literal", + "src": "218:13:3" + } + ], + "id": 964, + "name": "VariableDeclaration", + "src": "197:34:3" + }, + { + "attributes": { + "constant": false, + "name": "symbol", + "scope": 1024, + "stateVariable": true, + "storageLocation": "default", + "type": "string storage ref", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 965, + "name": "ElementaryTypeName", + "src": "235:6:3" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "425244", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"BRD\"", + "value": "BRD" + }, + "id": 966, + "name": "Literal", + "src": "258:5:3" + } + ], + "id": 967, + "name": "VariableDeclaration", + "src": "235:28:3" + }, + { + "attributes": { + "constant": false, + "name": "decimals", + "scope": 1024, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 968, + "name": "ElementaryTypeName", + "src": "267:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3138", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 18", + "value": "18" + }, + "id": 969, + "name": "Literal", + "src": "293:2:3" + } + ], + "id": 970, + "name": "VariableDeclaration", + "src": "267:28:3" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transferFrom", + "payable": false, + "scope": 1024, + "stateMutability": "nonpayable", + "superFunction": 1791, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 998, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 971, + "name": "ElementaryTypeName", + "src": "443:7:3" + } + ], + "id": 972, + "name": "VariableDeclaration", + "src": "443:13:3" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 998, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 973, + "name": "ElementaryTypeName", + "src": "458:7:3" + } + ], + "id": 974, + "name": "VariableDeclaration", + "src": "458:11:3" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 998, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 975, + "name": "ElementaryTypeName", + "src": "471:7:3" + } + ], + "id": 976, + "name": "VariableDeclaration", + "src": "471:14:3" + } + ], + "id": 977, + "name": "ParameterList", + "src": "442:44:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 998, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 978, + "name": "ElementaryTypeName", + "src": "503:4:3" + } + ], + "id": 979, + "name": "VariableDeclaration", + "src": "503:4:3" + } + ], + "id": 980, + "name": "ParameterList", + "src": "502:6:3" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 981, + "name": "Identifier", + "src": "515:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1461, + "type": "bool", + "value": "mintingFinished" + }, + "id": 982, + "name": "Identifier", + "src": "523:15:3" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 983, + "name": "Identifier", + "src": "542:3:3" + } + ], + "id": 984, + "name": "MemberAccess", + "src": "542:10:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 985, + "name": "Identifier", + "src": "556:5:3" + } + ], + "id": 986, + "name": "BinaryOperation", + "src": "542:19:3" + } + ], + "id": 987, + "name": "BinaryOperation", + "src": "523:38:3" + } + ], + "id": 988, + "name": "FunctionCall", + "src": "515:47:3" + } + ], + "id": 989, + "name": "ExpressionStatement", + "src": "515:47:3" + }, + { + "attributes": { + "functionReturnParameters": 980 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 1791, + "type": "function (address,address,uint256) returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1975, + "type": "contract super BRDToken", + "value": "super" + }, + "id": 990, + "name": "Identifier", + "src": "575:5:3" + } + ], + "id": 991, + "name": "MemberAccess", + "src": "575:18:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 972, + "type": "address", + "value": "_from" + }, + "id": 992, + "name": "Identifier", + "src": "594:5:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 974, + "type": "address", + "value": "_to" + }, + "id": 993, + "name": "Identifier", + "src": "601:3:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 976, + "type": "uint256", + "value": "_value" + }, + "id": 994, + "name": "Identifier", + "src": "606:6:3" + } + ], + "id": 995, + "name": "FunctionCall", + "src": "575:38:3" + } + ], + "id": 996, + "name": "Return", + "src": "568:45:3" + } + ], + "id": 997, + "name": "Block", + "src": "509:109:3" + } + ], + "id": 998, + "name": "FunctionDefinition", + "src": "421:197:3" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 1024, + "stateMutability": "nonpayable", + "superFunction": 1097, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 1023, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 999, + "name": "ElementaryTypeName", + "src": "756:7:3" + } + ], + "id": 1000, + "name": "VariableDeclaration", + "src": "756:11:3" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 1023, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1001, + "name": "ElementaryTypeName", + "src": "769:7:3" + } + ], + "id": 1002, + "name": "VariableDeclaration", + "src": "769:14:3" + } + ], + "id": 1003, + "name": "ParameterList", + "src": "755:29:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1023, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1004, + "name": "ElementaryTypeName", + "src": "801:4:3" + } + ], + "id": 1005, + "name": "VariableDeclaration", + "src": "801:4:3" + } + ], + "id": 1006, + "name": "ParameterList", + "src": "800:6:3" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1007, + "name": "Identifier", + "src": "813:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "||", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1461, + "type": "bool", + "value": "mintingFinished" + }, + "id": 1008, + "name": "Identifier", + "src": "821:15:3" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1009, + "name": "Identifier", + "src": "840:3:3" + } + ], + "id": 1010, + "name": "MemberAccess", + "src": "840:10:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 1011, + "name": "Identifier", + "src": "854:5:3" + } + ], + "id": 1012, + "name": "BinaryOperation", + "src": "840:19:3" + } + ], + "id": 1013, + "name": "BinaryOperation", + "src": "821:38:3" + } + ], + "id": 1014, + "name": "FunctionCall", + "src": "813:47:3" + } + ], + "id": 1015, + "name": "ExpressionStatement", + "src": "813:47:3" + }, + { + "attributes": { + "functionReturnParameters": 1006 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 1097, + "type": "function (address,uint256) returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1975, + "type": "contract super BRDToken", + "value": "super" + }, + "id": 1016, + "name": "Identifier", + "src": "873:5:3" + } + ], + "id": 1017, + "name": "MemberAccess", + "src": "873:14:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1000, + "type": "address", + "value": "_to" + }, + "id": 1018, + "name": "Identifier", + "src": "888:3:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1002, + "type": "uint256", + "value": "_value" + }, + "id": 1019, + "name": "Identifier", + "src": "893:6:3" + } + ], + "id": 1020, + "name": "FunctionCall", + "src": "873:27:3" + } + ], + "id": 1021, + "name": "Return", + "src": "866:34:3" + } + ], + "id": 1022, + "name": "Block", + "src": "807:98:3" + } + ], + "id": 1023, + "name": "FunctionDefinition", + "src": "738:167:3" + } + ], + "id": 1024, + "name": "ContractDefinition", + "src": "127:780:3" + } + ], + "id": 1025, + "name": "SourceUnit", + "src": "0:908:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x558ec3152e2eb2174905cd19aea4e34a23de9ad6" + }, + "3": { + "events": {}, + "links": {}, + "address": "0xb07227996387a98970733cfff987cd2f68a39253" + }, + "1513572932980": { + "events": {}, + "links": {}, + "address": "0xcf736affe58810b173e6752c6c77c1e4bba2a7b1" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T01:34:11.524Z" +} \ No newline at end of file diff --git a/build/contracts/BRDVendingMachine.json b/build/contracts/BRDVendingMachine.json new file mode 100644 index 0000000..ad7be36 --- /dev/null +++ b/build/contracts/BRDVendingMachine.json @@ -0,0 +1,5044 @@ +{ + "contractName": "BRDVendingMachine", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_token", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_transferID", + "type": "string" + }, + { + "indexed": true, + "name": "_contract", + "type": "address" + }, + { + "indexed": false, + "name": "_addresses", + "type": "address[]" + }, + { + "indexed": false, + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "BulkTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_contract", + "type": "address" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_transferID", + "type": "string" + }, + { + "name": "_addresses", + "type": "address[]" + }, + { + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "bulkTransfer", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051602080610c0b83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610b47806100c46000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631366e7e814610087578063722713f71461018a5780638da5cb5b146101b5578063f2fde38b1461020c578063f3fef3a31461024f578063fc0c546a146102b4575b6000151561008557600080fd5b005b34801561009357600080fd5b50610174600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061030b565b6040518082815260200191505060405180910390f35b34801561019657600080fd5b5061019f610684565b6040518082815260200191505060405180910390f35b3480156101c157600080fd5b506101ca610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a8565b005b34801561025b57600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fd565b604051808215151515815260200191505060405180910390f35b3480156102c057600080fd5b506102c9610af5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561036c57600080fd5b606486511115151561037d57600080fd5b8451865114151561038d57600080fd5b6024875114151561039d57600080fd5b60009250855191505b855182101561051a5785828151811015156103bd57fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff16141515156103ef57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82878581518110151561043c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b505050506040513d60208110156104f557600080fd5b81019080805190602001909291905050505060018301925081806001019250506103a6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876040518082805190602001908083835b6020831015156105895780518252602082019150602081019050602083039250610564565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207f2046b2e7ed3ab8893540c8c872e8b1c16d3bbc0908e935c8742383449e5c62158888604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610620578082015181840152602081019050610605565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610662578082015181840152602081019050610647565b5050505090500194505050505060405180910390a38293505050509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b8101908080519060200190929190505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561083f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561095b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a2057600080fd5b505af1158015610a34573d6000803e3d6000fd5b505050506040513d6020811015610a4a57600080fd5b810190808051906020019092919050505090508015610aeb578373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb856040518082815260200191505060405180910390a35b8091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058203d89539563cadeb93158fc4f2199bf3185fccc62371623d5d104b23cda2f55010029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631366e7e814610087578063722713f71461018a5780638da5cb5b146101b5578063f2fde38b1461020c578063f3fef3a31461024f578063fc0c546a146102b4575b6000151561008557600080fd5b005b34801561009357600080fd5b50610174600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061030b565b6040518082815260200191505060405180910390f35b34801561019657600080fd5b5061019f610684565b6040518082815260200191505060405180910390f35b3480156101c157600080fd5b506101ca610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a8565b005b34801561025b57600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fd565b604051808215151515815260200191505060405180910390f35b3480156102c057600080fd5b506102c9610af5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561036c57600080fd5b606486511115151561037d57600080fd5b8451865114151561038d57600080fd5b6024875114151561039d57600080fd5b60009250855191505b855182101561051a5785828151811015156103bd57fe5b90602001906020020151905060008173ffffffffffffffffffffffffffffffffffffffff16141515156103ef57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82878581518110151561043c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b505050506040513d60208110156104f557600080fd5b81019080805190602001909291905050505060018301925081806001019250506103a6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876040518082805190602001908083835b6020831015156105895780518252602082019150602081019050602083039250610564565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207f2046b2e7ed3ab8893540c8c872e8b1c16d3bbc0908e935c8742383449e5c62158888604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610620578082015181840152602081019050610605565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610662578082015181840152602081019050610647565b5050505090500194505050505060405180910390a38293505050509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b8101908080519060200190929190505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561083f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561095b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a2057600080fd5b505af1158015610a34573d6000803e3d6000fd5b505050506040513d6020811015610a4a57600080fd5b810190808051906020019092919050505090508015610aeb578373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb856040518082815260200191505060405180910390a35b8091505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058203d89539563cadeb93158fc4f2199bf3185fccc62371623d5d104b23cda2f55010029", + "sourceMap": "424:2746:4:-;;;700:74;8:9:-1;5:2;;;30:1;27;20:12;5:2;700:74:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:13;501:5;;:18;;;;;;;;;;;;;;;;;;761:6:4;753:5;;:14;;;;;;;;;;;;;;;;;;700:74;424:2746;;;;;;", + "deployedSourceMap": "424:2746:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:5;3147:14;;;;;;;;424:2746;1371:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1371:924:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2972:96:4;;;;;;;;;;;;;;;;;;;;;;;238:20:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:169:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;2547:269:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2547:269:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;468:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:18:4;;;;;;;;;;;;;;;;;;;;;;;;;;;1371:924;1481:4;1877:15;1911:7;2036:11;654:5:13;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;1592:3:4;1571:10;:17;:24;;1563:33;;;;;;;;1707:8;:15;1686:10;:17;:36;1678:45;;;;;;;;1823:2;1800:11;1794:25;:31;1786:40;;;;;;;;1895:1;1877:19;;1921:10;:17;1911:27;;1906:278;1945:10;:17;1940:2;:22;1906:278;;;2050:10;2061:2;2050:14;;;;;;;;;;;;;;;;;;2036:28;;2093:3;2086;:10;;;;2078:19;;;;;;;;2111:5;;;;;;;;;;;:14;;;2126:3;2131:8;2140:2;2131:12;;;;;;;;;;;;;;;;;;2111:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2111:33:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2111:33:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2111:33:4;;;;;;;;;;;;;;;;;2172:1;2158:15;;;;1964:4;;;;;;;1906:278;;;2232:5;;;;;;;;;;;2198:63;;2211:11;2198:63;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2198:63:4;;;;;;;;;;;;;;;;;2240:10;2252:8;2198:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2198:63:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2198:63:4;;;;;;;;;;;;;;;;;;;2278:10;2271:17;;1371:924;;;;;;;;:::o;2972:96::-;3014:7;3040:5;;;;;;;;;;;:15;;;3056:4;3040:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3040:21:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3040:21:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3040:21:4;;;;;;;;;;;;;;;;3033:28;;2972:96;:::o;238:20:13:-;;;;;;;;;;;;;:::o;834:169::-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;2547:269:4:-;2621:4;2637:17;654:5:13;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;2657:5:4;;;;;;;;;;;:14;;;2672:3;2677:7;2657:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2657:28:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2657:28:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2657:28:4;;;;;;;;;;;;;;;;2637:48;;2699:12;2695:86;;;2757:3;2732:38;;2749:5;;;;;;;;;;;2732:38;;;2762:7;2732:38;;;;;;;;;;;;;;;;;;2695:86;2797:12;2790:19;;2547:269;;;;;:::o;468:18::-;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"./zeppelin-solidity-1.4/Ownable.sol\";\nimport \"./zeppelin-solidity-1.4/ERC20.sol\";\n\n\n/**\n * BRDVendingMachine is a contract used to bulk-transfer tokens to batches of users.\n * It's primary interaction pattern is thus:\n * 1. A wallet creates the contract\n * 2. The wallet sends tokens to the contract\n * 3. The wallet executs bulkTransfer() to send tokens to the provided accounts\n */\ncontract BRDVendingMachine is Ownable {\n ERC20 public token;\n\n event BulkTransfer(string indexed _transferID, address indexed _contract, address[] _addresses, uint256[] _amounts);\n event Withdraw(address indexed _contract, address indexed _to, uint256 _amount);\n\n constructor(ERC20 _token) Ownable() public {\n token = _token;\n }\n\n /**\n * bulkTransfer executes up to 100 transfers of ERC20 tokens to the supplied addresses\n *\n * the 100 limit is not enforced however this should be taken as the practical limit since most ERC-20\n * transfer take around 45-60k gas, and we wish to keep the total transaction size under 750k gas.\n *\n * @param _transferID a UUIDv4 to uniquely identify this transfer\n * @param _addresses the addresses to transfer to\n * @param _amounts the amounts to transfer, 1-1 relationship with @param _addresses\n * @return the number of transfers executed\n */\n function bulkTransfer(string _transferID, address[] _addresses, uint256[] _amounts) onlyOwner public returns (uint) {\n // ensure the maximum amount of transfers is not over 100\n require(_addresses.length <= 100);\n // ensure the addresses and amounts are exactly the same length\n require(_addresses.length == _amounts.length);\n // ensure our _transferID is a valid uuid-v4\n require(bytes(_transferID).length == 36);\n // count the number of transfers\n uint _transfers = 0;\n for (uint _i = _addresses.length; _i < _addresses.length; _i++) {\n // ensure none of the addresses are 0x0\n address _to = _addresses[_i];\n require(_to != 0x0);\n token.transfer(_to, _amounts[_i]);\n _transfers += 1;\n }\n emit BulkTransfer(_transferID, address(token), _addresses, _amounts);\n return _transfers;\n }\n\n /**\n * withdraw will transfer an amount of an ERC-20 balance to another address\n *\n * @param _to recipient address\n * @param _amount receipient amount\n * @return the same value that ERC20.transferFrom would return\n */\n function withdraw(address _to, uint256 _amount) onlyOwner public returns (bool) {\n bool _didWithdraw = token.transfer(_to, _amount);\n if (_didWithdraw) {\n emit Withdraw(address(token), _to, _amount);\n }\n return _didWithdraw;\n }\n\n /**\n * balanceOf retrieves the current balance of a given token\n * @return this contract's balance at the provided token contract\n */\n function balanceOf() public view returns (uint256) {\n return token.balanceOf(this);\n }\n\n // this contract is NOT payable\n function () public payable {\n require(false);\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDVendingMachine.sol", + "ast": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDVendingMachine.sol", + "exportedSymbols": { + "BRDVendingMachine": [ + 1211 + ] + }, + "id": 1212, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1026, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./zeppelin-solidity-1.4/Ownable.sol", + "id": 1027, + "nodeType": "ImportDirective", + "scope": 1212, + "sourceUnit": 2476, + "src": "26:45:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20.sol", + "file": "./zeppelin-solidity-1.4/ERC20.sol", + "id": 1028, + "nodeType": "ImportDirective", + "scope": 1212, + "sourceUnit": 2248, + "src": "72:43:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1029, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "454:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2475", + "typeString": "contract Ownable" + } + }, + "id": 1030, + "nodeType": "InheritanceSpecifier", + "src": "454:7:4" + } + ], + "contractDependencies": [ + 2475 + ], + "contractKind": "contract", + "documentation": "BRDVendingMachine is a contract used to bulk-transfer tokens to batches of users.\nIt's primary interaction pattern is thus:\n 1. A wallet creates the contract\n 2. The wallet sends tokens to the contract\n 3. The wallet executs bulkTransfer() to send tokens to the provided accounts", + "fullyImplemented": true, + "id": 1211, + "linearizedBaseContracts": [ + 1211, + 2475 + ], + "name": "BRDVendingMachine", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1032, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "468:18:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1031, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2247, + "src": "468:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1044, + "name": "BulkTransfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "indexed": true, + "name": "_transferID", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "512:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "512:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "indexed": true, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "540:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1039, + "indexed": false, + "name": "_addresses", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "567:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1037, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1038, + "length": null, + "nodeType": "ArrayTypeName", + "src": "567:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1042, + "indexed": false, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "589:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1041, + "length": null, + "nodeType": "ArrayTypeName", + "src": "589:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "511:97:4" + }, + "src": "493:116:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1052, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 1051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1046, + "indexed": true, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "629:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "629:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "indexed": true, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "656:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "656:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "677:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1049, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "677:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "628:65:4" + }, + "src": "614:80:4" + }, + { + "body": { + "id": 1063, + "nodeType": "Block", + "src": "743:31:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1059, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "753:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1060, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1054, + "src": "761:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "src": "753:14:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1062, + "nodeType": "ExpressionStatement", + "src": "753:14:4" + } + ] + }, + "documentation": null, + "id": 1064, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1057, + "modifierName": { + "argumentTypes": null, + "id": 1056, + "name": "Ownable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "726:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Ownable_$2475_$", + "typeString": "type(contract Ownable)" + } + }, + "nodeType": "ModifierInvocation", + "src": "726:9:4" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1054, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 1064, + "src": "712:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1053, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2247, + "src": "712:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [], + "src": "743:0:4" + }, + "scope": 1211, + "src": "700:74:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1157, + "nodeType": "Block", + "src": "1487:808:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1080, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1571:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1571:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1592:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1571:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1079, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1563:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1563:33:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1085, + "nodeType": "ExpressionStatement", + "src": "1563:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1087, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1686:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1686:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1089, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "1707:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1686:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1678:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1678:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1093, + "nodeType": "ExpressionStatement", + "src": "1678:45:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1096, + "name": "_transferID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "1800:11:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1794:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1794:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1794:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1823:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "src": "1794:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1786:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1786:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1102, + "nodeType": "ExpressionStatement", + "src": "1786:40:4" + }, + { + "assignments": [ + 1104 + ], + "declarations": [ + { + "constant": false, + "id": 1104, + "name": "_transfers", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1877:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1877:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1106, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 1105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1895:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1877:19:4" + }, + { + "body": { + "id": 1144, + "nodeType": "Block", + "src": "1970:214:4", + "statements": [ + { + "assignments": [ + 1120 + ], + "declarations": [ + { + "constant": false, + "id": 1120, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "2036:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2036:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1124, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1121, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "2050:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1123, + "indexExpression": { + "argumentTypes": null, + "id": 1122, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "2061:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2050:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2036:28:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1126, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "2086:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2093:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "2086:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "2078:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2078:19:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1130, + "nodeType": "ExpressionStatement", + "src": "2078:19:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1134, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "2126:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1135, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2131:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 1137, + "indexExpression": { + "argumentTypes": null, + "id": 1136, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "2140:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2131:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1131, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2111:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2267, + "src": "2111:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1139, + "nodeType": "ExpressionStatement", + "src": "2111:33:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1140, + "name": "_transfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "2158:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2172:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2158:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1143, + "nodeType": "ExpressionStatement", + "src": "2158:15:4" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1112, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "1940:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1113, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1945:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1940:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1145, + "initializationExpression": { + "assignments": [ + 1108 + ], + "declarations": [ + { + "constant": false, + "id": 1108, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1911:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1107, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1911:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1111, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1109, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1921:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1921:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1911:27:4" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1964:4:4", + "subExpression": { + "argumentTypes": null, + "id": 1116, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "1964:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1118, + "nodeType": "ExpressionStatement", + "src": "1964:4:4" + }, + "nodeType": "ForStatement", + "src": "1906:278:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1147, + "name": "_transferID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "2211:11:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1149, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2232:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + ], + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2224:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2224:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1151, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "2240:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 1152, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2252:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 1146, + "name": "BulkTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1044, + "src": "2198:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,address,address[] memory,uint256[] memory)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2198:63:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1154, + "nodeType": "EmitStatement", + "src": "2193:68:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1155, + "name": "_transfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "2278:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1078, + "id": 1156, + "nodeType": "Return", + "src": "2271:17:4" + } + ] + }, + "documentation": "bulkTransfer executes up to 100 transfers of ERC20 tokens to the supplied addresses\n * the 100 limit is not enforced however this should be taken as the practical limit since most ERC-20\ntransfer take around 45-60k gas, and we wish to keep the total transaction size under 750k gas.\n * @param _transferID a UUIDv4 to uniquely identify this transfer\n@param _addresses the addresses to transfer to\n@param _amounts the amounts to transfer, 1-1 relationship with @param _addresses\n@return the number of transfers executed", + "id": 1158, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1075, + "modifierName": { + "argumentTypes": null, + "id": 1074, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2449, + "src": "1455:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1455:9:4" + } + ], + "name": "bulkTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "name": "_transferID", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1393:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1393:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1069, + "name": "_addresses", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1413:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1413:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1068, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1413:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1072, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1435:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1071, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1435:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:62:4" + }, + "payable": false, + "returnParameters": { + "id": 1078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1077, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1481:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1076, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1481:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1480:6:4" + }, + "scope": 1211, + "src": "1371:924:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1190, + "nodeType": "Block", + "src": "2627:189:4", + "statements": [ + { + "assignments": [ + 1170 + ], + "declarations": [ + { + "constant": false, + "id": 1170, + "name": "_didWithdraw", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2637:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2637:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1176, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1173, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2672:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1174, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1162, + "src": "2677:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1171, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2657:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2267, + "src": "2657:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2657:28:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2637:48:4" + }, + { + "condition": { + "argumentTypes": null, + "id": 1177, + "name": "_didWithdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2699:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1187, + "nodeType": "IfStatement", + "src": "2695:86:4", + "trueBody": { + "id": 1186, + "nodeType": "Block", + "src": "2713:68:4", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1180, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2749:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + ], + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2741:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2741:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1182, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2757:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1183, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1162, + "src": "2762:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1178, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "2732:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2732:38:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1185, + "nodeType": "EmitStatement", + "src": "2727:43:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1188, + "name": "_didWithdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2797:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1168, + "id": 1189, + "nodeType": "Return", + "src": "2790:19:4" + } + ] + }, + "documentation": "withdraw will transfer an amount of an ERC-20 balance to another address\n * @param _to recipient address\n@param _amount receipient amount\n@return the same value that ERC20.transferFrom would return", + "id": 1191, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1165, + "modifierName": { + "argumentTypes": null, + "id": 1164, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2449, + "src": "2595:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2595:9:4" + } + ], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1160, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2565:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2565:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1162, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2578:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2578:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2564:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2621:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1166, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2621:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2620:6:4" + }, + "scope": 1211, + "src": "2547:269:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "3023:45:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1198, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "3056:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BRDVendingMachine_$1211", + "typeString": "contract BRDVendingMachine" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BRDVendingMachine_$1211", + "typeString": "contract BRDVendingMachine" + } + ], + "expression": { + "argumentTypes": null, + "id": 1196, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "3040:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2258, + "src": "3040:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3040:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1195, + "id": 1200, + "nodeType": "Return", + "src": "3033:28:4" + } + ] + }, + "documentation": "balanceOf retrieves the current balance of a given token\n@return this contract's balance at the provided token contract", + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [], + "src": "2990:2:4" + }, + "payable": false, + "returnParameters": { + "id": 1195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1194, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3014:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3014:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3013:9:4" + }, + "scope": 1211, + "src": "2972:96:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1209, + "nodeType": "Block", + "src": "3137:31:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3155:5:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1205, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "3147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3147:14:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1208, + "nodeType": "ExpressionStatement", + "src": "3147:14:4" + } + ] + }, + "documentation": null, + "id": 1210, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1203, + "nodeType": "ParameterList", + "parameters": [], + "src": "3119:2:4" + }, + "payable": true, + "returnParameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [], + "src": "3137:0:4" + }, + "scope": 1211, + "src": "3110:58:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1212, + "src": "424:2746:4" + } + ], + "src": "0:3171:4" + }, + "legacyAST": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/BRDVendingMachine.sol", + "exportedSymbols": { + "BRDVendingMachine": [ + 1211 + ] + }, + "id": 1212, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1026, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./zeppelin-solidity-1.4/Ownable.sol", + "id": 1027, + "nodeType": "ImportDirective", + "scope": 1212, + "sourceUnit": 2476, + "src": "26:45:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20.sol", + "file": "./zeppelin-solidity-1.4/ERC20.sol", + "id": 1028, + "nodeType": "ImportDirective", + "scope": 1212, + "sourceUnit": 2248, + "src": "72:43:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1029, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2475, + "src": "454:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2475", + "typeString": "contract Ownable" + } + }, + "id": 1030, + "nodeType": "InheritanceSpecifier", + "src": "454:7:4" + } + ], + "contractDependencies": [ + 2475 + ], + "contractKind": "contract", + "documentation": "BRDVendingMachine is a contract used to bulk-transfer tokens to batches of users.\nIt's primary interaction pattern is thus:\n 1. A wallet creates the contract\n 2. The wallet sends tokens to the contract\n 3. The wallet executs bulkTransfer() to send tokens to the provided accounts", + "fullyImplemented": true, + "id": 1211, + "linearizedBaseContracts": [ + 1211, + 2475 + ], + "name": "BRDVendingMachine", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1032, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "468:18:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1031, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2247, + "src": "468:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1044, + "name": "BulkTransfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "indexed": true, + "name": "_transferID", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "512:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "512:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "indexed": true, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "540:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1039, + "indexed": false, + "name": "_addresses", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "567:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1037, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1038, + "length": null, + "nodeType": "ArrayTypeName", + "src": "567:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1042, + "indexed": false, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "589:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1041, + "length": null, + "nodeType": "ArrayTypeName", + "src": "589:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "511:97:4" + }, + "src": "493:116:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 1052, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 1051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1046, + "indexed": true, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "629:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "629:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "indexed": true, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "656:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "656:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1052, + "src": "677:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1049, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "677:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "628:65:4" + }, + "src": "614:80:4" + }, + { + "body": { + "id": 1063, + "nodeType": "Block", + "src": "743:31:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1059, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "753:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1060, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1054, + "src": "761:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "src": "753:14:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1062, + "nodeType": "ExpressionStatement", + "src": "753:14:4" + } + ] + }, + "documentation": null, + "id": 1064, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 1057, + "modifierName": { + "argumentTypes": null, + "id": 1056, + "name": "Ownable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "726:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Ownable_$2475_$", + "typeString": "type(contract Ownable)" + } + }, + "nodeType": "ModifierInvocation", + "src": "726:9:4" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1054, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 1064, + "src": "712:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1053, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2247, + "src": "712:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [], + "src": "743:0:4" + }, + "scope": 1211, + "src": "700:74:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1157, + "nodeType": "Block", + "src": "1487:808:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1080, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1571:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1571:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1592:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1571:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1079, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1563:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1563:33:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1085, + "nodeType": "ExpressionStatement", + "src": "1563:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1087, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1686:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1686:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1089, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "1707:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1707:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1686:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1678:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1678:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1093, + "nodeType": "ExpressionStatement", + "src": "1678:45:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1096, + "name": "_transferID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "1800:11:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1794:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1794:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1794:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1823:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "src": "1794:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "1786:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1786:40:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1102, + "nodeType": "ExpressionStatement", + "src": "1786:40:4" + }, + { + "assignments": [ + 1104 + ], + "declarations": [ + { + "constant": false, + "id": 1104, + "name": "_transfers", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1877:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1877:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1106, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 1105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1895:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1877:19:4" + }, + { + "body": { + "id": 1144, + "nodeType": "Block", + "src": "1970:214:4", + "statements": [ + { + "assignments": [ + 1120 + ], + "declarations": [ + { + "constant": false, + "id": 1120, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "2036:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2036:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1124, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1121, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "2050:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1123, + "indexExpression": { + "argumentTypes": null, + "id": 1122, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "2061:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2050:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2036:28:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1126, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "2086:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "307830", + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2093:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "2086:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1125, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "2078:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2078:19:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1130, + "nodeType": "ExpressionStatement", + "src": "2078:19:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1134, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "2126:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1135, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2131:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 1137, + "indexExpression": { + "argumentTypes": null, + "id": 1136, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "2140:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2131:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1131, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2111:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2267, + "src": "2111:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:33:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1139, + "nodeType": "ExpressionStatement", + "src": "2111:33:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1140, + "name": "_transfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "2158:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2172:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2158:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1143, + "nodeType": "ExpressionStatement", + "src": "2158:15:4" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1112, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "1940:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1113, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1945:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1945:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1940:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1145, + "initializationExpression": { + "assignments": [ + 1108 + ], + "declarations": [ + { + "constant": false, + "id": 1108, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1911:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1107, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1911:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1111, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1109, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "1921:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1921:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1911:27:4" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 1117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1964:4:4", + "subExpression": { + "argumentTypes": null, + "id": 1116, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1108, + "src": "1964:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1118, + "nodeType": "ExpressionStatement", + "src": "1964:4:4" + }, + "nodeType": "ForStatement", + "src": "1906:278:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1147, + "name": "_transferID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "2211:11:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1149, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2232:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + ], + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2224:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2224:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1151, + "name": "_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "2240:10:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 1152, + "name": "_amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2252:8:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 1146, + "name": "BulkTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1044, + "src": "2198:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,address,address[] memory,uint256[] memory)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2198:63:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1154, + "nodeType": "EmitStatement", + "src": "2193:68:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1155, + "name": "_transfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "2278:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1078, + "id": 1156, + "nodeType": "Return", + "src": "2271:17:4" + } + ] + }, + "documentation": "bulkTransfer executes up to 100 transfers of ERC20 tokens to the supplied addresses\n * the 100 limit is not enforced however this should be taken as the practical limit since most ERC-20\ntransfer take around 45-60k gas, and we wish to keep the total transaction size under 750k gas.\n * @param _transferID a UUIDv4 to uniquely identify this transfer\n@param _addresses the addresses to transfer to\n@param _amounts the amounts to transfer, 1-1 relationship with @param _addresses\n@return the number of transfers executed", + "id": 1158, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1075, + "modifierName": { + "argumentTypes": null, + "id": 1074, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2449, + "src": "1455:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1455:9:4" + } + ], + "name": "bulkTransfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "name": "_transferID", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1393:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1393:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1069, + "name": "_addresses", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1413:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1413:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1068, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1413:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1072, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1435:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1071, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1435:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:62:4" + }, + "payable": false, + "returnParameters": { + "id": 1078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1077, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1158, + "src": "1481:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1076, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1481:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1480:6:4" + }, + "scope": 1211, + "src": "1371:924:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1190, + "nodeType": "Block", + "src": "2627:189:4", + "statements": [ + { + "assignments": [ + 1170 + ], + "declarations": [ + { + "constant": false, + "id": 1170, + "name": "_didWithdraw", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2637:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2637:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1176, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1173, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2672:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1174, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1162, + "src": "2677:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1171, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2657:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2267, + "src": "2657:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2657:28:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2637:48:4" + }, + { + "condition": { + "argumentTypes": null, + "id": 1177, + "name": "_didWithdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2699:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1187, + "nodeType": "IfStatement", + "src": "2695:86:4", + "trueBody": { + "id": 1186, + "nodeType": "Block", + "src": "2713:68:4", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1180, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "2749:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + ], + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2741:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2741:14:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1182, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2757:3:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1183, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1162, + "src": "2762:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1178, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "2732:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2732:38:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1185, + "nodeType": "EmitStatement", + "src": "2727:43:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1188, + "name": "_didWithdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2797:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1168, + "id": 1189, + "nodeType": "Return", + "src": "2790:19:4" + } + ] + }, + "documentation": "withdraw will transfer an amount of an ERC-20 balance to another address\n * @param _to recipient address\n@param _amount receipient amount\n@return the same value that ERC20.transferFrom would return", + "id": 1191, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1165, + "modifierName": { + "argumentTypes": null, + "id": 1164, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2449, + "src": "2595:9:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2595:9:4" + } + ], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1160, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2565:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2565:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1162, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2578:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2578:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2564:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1191, + "src": "2621:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1166, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2621:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2620:6:4" + }, + "scope": 1211, + "src": "2547:269:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "3023:45:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1198, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "3056:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BRDVendingMachine_$1211", + "typeString": "contract BRDVendingMachine" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BRDVendingMachine_$1211", + "typeString": "contract BRDVendingMachine" + } + ], + "expression": { + "argumentTypes": null, + "id": 1196, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "3040:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$2247", + "typeString": "contract ERC20" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2258, + "src": "3040:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3040:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1195, + "id": 1200, + "nodeType": "Return", + "src": "3033:28:4" + } + ] + }, + "documentation": "balanceOf retrieves the current balance of a given token\n@return this contract's balance at the provided token contract", + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [], + "src": "2990:2:4" + }, + "payable": false, + "returnParameters": { + "id": 1195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1194, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3014:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3014:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3013:9:4" + }, + "scope": 1211, + "src": "2972:96:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1209, + "nodeType": "Block", + "src": "3137:31:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3155:5:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1205, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2893, + 2894 + ], + "referencedDeclaration": 2893, + "src": "3147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3147:14:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1208, + "nodeType": "ExpressionStatement", + "src": "3147:14:4" + } + ] + }, + "documentation": null, + "id": 1210, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1203, + "nodeType": "ParameterList", + "parameters": [], + "src": "3119:2:4" + }, + "payable": true, + "returnParameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [], + "src": "3137:0:4" + }, + "scope": 1211, + "src": "3110:58:4", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1212, + "src": "424:2746:4" + } + ], + "src": "0:3171:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.0", + "updatedAt": "2018-05-24T01:13:42.895Z" +} \ No newline at end of file diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json new file mode 100644 index 0000000..434522b --- /dev/null +++ b/build/contracts/BasicToken.json @@ -0,0 +1,1317 @@ +{ + "contractName": "BasicToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6104028061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a723058201355a4ebae5d447f5a941025d5fae987bee198f0891f2d352d38f2f22a1e531a0029", + "deployedBytecode": "0x606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561020657600080fd5b61025882600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461039f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103ad57fe5b818303905092915050565b60008082840190508381101515156103cc57fe5b80915050929150505600a165627a7a723058201355a4ebae5d447f5a941025d5fae987bee198f0891f2d352d38f2f22a1e531a0029", + "sourceMap": "171:951:4:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "171:951:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:107:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;431:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:7;;;;:::o;1012:107:4:-;1068:15;1098:8;:16;1107:6;1098:16;;;;;;;;;;;;;;;;1091:23;;1012:107;;;:::o;431:379::-;494:4;529:1;514:17;;:3;:17;;;;506:26;;;;;;;;556:8;:20;565:10;556:20;;;;;;;;;;;;;;;;546:6;:30;;538:39;;;;;;;;670:32;695:6;670:8;:20;679:10;670:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;647:8;:20;656:10;647:20;;;;;;;;;;;;;;;:55;;;;724:25;742:6;724:8;:13;733:3;724:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;708:8;:13;717:3;708:13;;;;;;;;;;;;;;;:41;;;;776:3;755:33;;764:10;755:33;;;781:6;755:33;;;;;;;;;;;;;;;;;;801:4;794:11;;431:379;;;;:::o;584:110:11:-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\n\nimport './ERC20Basic.sol';\nimport './SafeMath.sol';\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n\n mapping(address => uint256) balances;\n\n /**\n * @dev transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[msg.sender]);\n\n // SafeMath.sub will throw if there is not enough balance.\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public view returns (uint256 balance) {\n return balances[_owner];\n }\n\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/BasicToken.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 1110 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1026, + "name": "PragmaDirective", + "src": "0:24:4" + }, + { + "attributes": { + "SourceUnit": 1395, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "scope": 1111, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1027, + "name": "ImportDirective", + "src": "27:26:4" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./SafeMath.sol", + "scope": 1111, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1028, + "name": "ImportDirective", + "src": "54:24:4" + }, + { + "attributes": { + "contractDependencies": [ + 1394 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1110, + 1394 + ], + "name": "BasicToken", + "scope": 1111 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 1394, + "type": "contract ERC20Basic" + }, + "id": 1029, + "name": "UserDefinedTypeName", + "src": "194:10:4" + } + ], + "id": 1030, + "name": "InheritanceSpecifier", + "src": "194:10:4" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 1031, + "name": "UserDefinedTypeName", + "src": "215:8:4" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1032, + "name": "ElementaryTypeName", + "src": "228:7:4" + } + ], + "id": 1033, + "name": "UsingForDirective", + "src": "209:27:4" + }, + { + "attributes": { + "constant": false, + "name": "balances", + "scope": 1110, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => uint256)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1034, + "name": "ElementaryTypeName", + "src": "248:7:4" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1035, + "name": "ElementaryTypeName", + "src": "259:7:4" + } + ], + "id": 1036, + "name": "Mapping", + "src": "240:27:4" + } + ], + "id": 1037, + "name": "VariableDeclaration", + "src": "240:36:4" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 1110, + "stateMutability": "nonpayable", + "superFunction": 1385, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 1097, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1038, + "name": "ElementaryTypeName", + "src": "449:7:4" + } + ], + "id": 1039, + "name": "VariableDeclaration", + "src": "449:11:4" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 1097, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1040, + "name": "ElementaryTypeName", + "src": "462:7:4" + } + ], + "id": 1041, + "name": "VariableDeclaration", + "src": "462:14:4" + } + ], + "id": 1042, + "name": "ParameterList", + "src": "448:29:4" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1097, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1043, + "name": "ElementaryTypeName", + "src": "494:4:4" + } + ], + "id": 1044, + "name": "VariableDeclaration", + "src": "494:4:4" + } + ], + "id": 1045, + "name": "ParameterList", + "src": "493:6:4" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1046, + "name": "Identifier", + "src": "506:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1039, + "type": "address", + "value": "_to" + }, + "id": 1047, + "name": "Identifier", + "src": "514:3:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1048, + "name": "ElementaryTypeNameExpression", + "src": "521:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1049, + "name": "Literal", + "src": "529:1:4" + } + ], + "id": 1050, + "name": "FunctionCall", + "src": "521:10:4" + } + ], + "id": 1051, + "name": "BinaryOperation", + "src": "514:17:4" + } + ], + "id": 1052, + "name": "FunctionCall", + "src": "506:26:4" + } + ], + "id": 1053, + "name": "ExpressionStatement", + "src": "506:26:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1054, + "name": "Identifier", + "src": "538:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1041, + "type": "uint256", + "value": "_value" + }, + "id": 1055, + "name": "Identifier", + "src": "546:6:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1056, + "name": "Identifier", + "src": "556:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1057, + "name": "Identifier", + "src": "565:3:4" + } + ], + "id": 1058, + "name": "MemberAccess", + "src": "565:10:4" + } + ], + "id": 1059, + "name": "IndexAccess", + "src": "556:20:4" + } + ], + "id": 1060, + "name": "BinaryOperation", + "src": "546:30:4" + } + ], + "id": 1061, + "name": "FunctionCall", + "src": "538:39:4" + } + ], + "id": 1062, + "name": "ExpressionStatement", + "src": "538:39:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1063, + "name": "Identifier", + "src": "647:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1064, + "name": "Identifier", + "src": "656:3:4" + } + ], + "id": 1065, + "name": "MemberAccess", + "src": "656:10:4" + } + ], + "id": 1066, + "name": "IndexAccess", + "src": "647:20:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1067, + "name": "Identifier", + "src": "670:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1068, + "name": "Identifier", + "src": "679:3:4" + } + ], + "id": 1069, + "name": "MemberAccess", + "src": "679:10:4" + } + ], + "id": 1070, + "name": "IndexAccess", + "src": "670:20:4" + } + ], + "id": 1071, + "name": "MemberAccess", + "src": "670:24:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1041, + "type": "uint256", + "value": "_value" + }, + "id": 1072, + "name": "Identifier", + "src": "695:6:4" + } + ], + "id": 1073, + "name": "FunctionCall", + "src": "670:32:4" + } + ], + "id": 1074, + "name": "Assignment", + "src": "647:55:4" + } + ], + "id": 1075, + "name": "ExpressionStatement", + "src": "647:55:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1076, + "name": "Identifier", + "src": "708:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1039, + "type": "address", + "value": "_to" + }, + "id": 1077, + "name": "Identifier", + "src": "717:3:4" + } + ], + "id": 1078, + "name": "IndexAccess", + "src": "708:13:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1079, + "name": "Identifier", + "src": "724:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1039, + "type": "address", + "value": "_to" + }, + "id": 1080, + "name": "Identifier", + "src": "733:3:4" + } + ], + "id": 1081, + "name": "IndexAccess", + "src": "724:13:4" + } + ], + "id": 1082, + "name": "MemberAccess", + "src": "724:17:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1041, + "type": "uint256", + "value": "_value" + }, + "id": 1083, + "name": "Identifier", + "src": "742:6:4" + } + ], + "id": 1084, + "name": "FunctionCall", + "src": "724:25:4" + } + ], + "id": 1085, + "name": "Assignment", + "src": "708:41:4" + } + ], + "id": 1086, + "name": "ExpressionStatement", + "src": "708:41:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1393, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 1087, + "name": "Identifier", + "src": "755:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1088, + "name": "Identifier", + "src": "764:3:4" + } + ], + "id": 1089, + "name": "MemberAccess", + "src": "764:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1039, + "type": "address", + "value": "_to" + }, + "id": 1090, + "name": "Identifier", + "src": "776:3:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1041, + "type": "uint256", + "value": "_value" + }, + "id": 1091, + "name": "Identifier", + "src": "781:6:4" + } + ], + "id": 1092, + "name": "FunctionCall", + "src": "755:33:4" + } + ], + "id": 1093, + "name": "ExpressionStatement", + "src": "755:33:4" + }, + { + "attributes": { + "functionReturnParameters": 1045 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1094, + "name": "Literal", + "src": "801:4:4" + } + ], + "id": 1095, + "name": "Return", + "src": "794:11:4" + } + ], + "id": 1096, + "name": "Block", + "src": "500:310:4" + } + ], + "id": 1097, + "name": "FunctionDefinition", + "src": "431:379:4" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 1110, + "stateMutability": "view", + "superFunction": 1376, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 1109, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1098, + "name": "ElementaryTypeName", + "src": "1031:7:4" + } + ], + "id": 1099, + "name": "VariableDeclaration", + "src": "1031:14:4" + } + ], + "id": 1100, + "name": "ParameterList", + "src": "1030:16:4" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 1109, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1101, + "name": "ElementaryTypeName", + "src": "1068:7:4" + } + ], + "id": 1102, + "name": "VariableDeclaration", + "src": "1068:15:4" + } + ], + "id": 1103, + "name": "ParameterList", + "src": "1067:17:4" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1103 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1104, + "name": "Identifier", + "src": "1098:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1099, + "type": "address", + "value": "_owner" + }, + "id": 1105, + "name": "Identifier", + "src": "1107:6:4" + } + ], + "id": 1106, + "name": "IndexAccess", + "src": "1098:16:4" + } + ], + "id": 1107, + "name": "Return", + "src": "1091:23:4" + } + ], + "id": 1108, + "name": "Block", + "src": "1085:34:4" + } + ], + "id": 1109, + "name": "FunctionDefinition", + "src": "1012:107:4" + } + ], + "id": 1110, + "name": "ContractDefinition", + "src": "171:951:4" + } + ], + "id": 1111, + "name": "SourceUnit", + "src": "0:1123:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.300Z" +} \ No newline at end of file diff --git a/build/contracts/Crowdsale.json b/build/contracts/Crowdsale.json new file mode 100644 index 0000000..3be58cf --- /dev/null +++ b/build/contracts/Crowdsale.json @@ -0,0 +1,3203 @@ +{ + "contractName": "Crowdsale", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "rate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "endTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weiRaised", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "wallet", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "startTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "beneficiary", + "type": "address" + } + ], + "name": "buyTokens", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hasEnded", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_startTime", + "type": "uint256" + }, + { + "name": "_endTime", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_wallet", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "purchaser", + "type": "address" + }, + { + "indexed": true, + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "TokenPurchase", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516080806133cb8339810160405280805190602001909190805190602001909190805190602001909190805190602001909190505042841015151561005557600080fd5b83831015151561006457600080fd5b60008211151561007357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100af57600080fd5b6100ca6101686401000000000261058a176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181905550826002819055508160048190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505061019d565b600061017261018d565b604051809103906000f080151561018857600080fd5b905090565b60405161161a80611db183390190565b611c05806101ac6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632c4e722e146100995780633197cbb6146100c25780634042b66f146100eb578063521eb2731461011457806378e9792514610169578063ec8ac4d814610192578063ecb70fb7146101c0578063fc0c546a146101ed575b61009733610242565b005b34156100a457600080fd5b6100ac61042b565b6040518082815260200191505060405180910390f35b34156100cd57600080fd5b6100d5610431565b6040518082815260200191505060405180910390f35b34156100f657600080fd5b6100fe610437565b6040518082815260200191505060405180910390f35b341561011f57600080fd5b61012761043d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c610463565b6040518082815260200191505060405180910390f35b6101be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610242565b005b34156101cb57600080fd5b6101d3610469565b604051808215151515815260200191505060405180910390f35b34156101f857600080fd5b610200610475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561028157600080fd5b61028961049a565b151561029457600080fd5b3491506102ac600454836104cd90919063ffffffff16565b90506102c38260055461050890919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561039557600080fd5b6102c65a03f115156103a657600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610426610526565b505050565b60045481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60006002544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060015442101580156104b357506002544211155b9150600034141590508180156104c65750805b9250505090565b60008060008414156104e25760009150610501565b82840290508284828115156104f357fe5b041415156104fd57fe5b8091505b5092915050565b600080828401905083811015151561051c57fe5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561058857600080fd5b565b60006105946105af565b604051809103906000f08015156105aa57600080fd5b905090565b60405161161a806105c083390190560060606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820af48bd40faa44440bb8a48abc63f938af4fbd5d4ef6cb8e9d0d5b606cd207b4d0029a165627a7a72305820f8944d126fa6835c549ba1ea2825d3ede9d0e224bb0b96ea4ba749ddfd8513c0002960606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820af48bd40faa44440bb8a48abc63f938af4fbd5d4ef6cb8e9d0d5b606cd207b4d0029", + "deployedBytecode": "0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632c4e722e146100995780633197cbb6146100c25780634042b66f146100eb578063521eb2731461011457806378e9792514610169578063ec8ac4d814610192578063ecb70fb7146101c0578063fc0c546a146101ed575b61009733610242565b005b34156100a457600080fd5b6100ac61042b565b6040518082815260200191505060405180910390f35b34156100cd57600080fd5b6100d5610431565b6040518082815260200191505060405180910390f35b34156100f657600080fd5b6100fe610437565b6040518082815260200191505060405180910390f35b341561011f57600080fd5b61012761043d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c610463565b6040518082815260200191505060405180910390f35b6101be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610242565b005b34156101cb57600080fd5b6101d3610469565b604051808215151515815260200191505060405180910390f35b34156101f857600080fd5b610200610475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561028157600080fd5b61028961049a565b151561029457600080fd5b3491506102ac600454836104cd90919063ffffffff16565b90506102c38260055461050890919063ffffffff16565b6005819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561039557600080fd5b6102c65a03f115156103a657600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610426610526565b505050565b60045481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60006002544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060015442101580156104b357506002544211155b9150600034141590508180156104c65750805b9250505090565b60008060008414156104e25760009150610501565b82840290508284828115156104f357fe5b041415156104fd57fe5b8091505b5092915050565b600080828401905083811015151561051c57fe5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561058857600080fd5b565b60006105946105af565b604051809103906000f08015156105aa57600080fd5b905090565b60405161161a806105c083390190560060606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820af48bd40faa44440bb8a48abc63f938af4fbd5d4ef6cb8e9d0d5b606cd207b4d0029a165627a7a72305820f8944d126fa6835c549ba1ea2825d3ede9d0e224bb0b96ea4ba749ddfd8513c00029", + "sourceMap": "407:2522:5:-;;;1188:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1312:3;1298:10;:17;;1290:26;;;;;;;;1342:10;1330:8;:22;;1322:31;;;;;;;;1375:1;1367:5;:9;1359:18;;;;;;;;1410:1;1391:21;;:7;:21;;;;1383:30;;;;;;;;1428:21;:19;;;;;:21;;;:::i;:::-;1420:5;;:29;;;;;;;;;;;;;;;;;;1467:10;1455:9;:22;;;;1493:8;1483:7;:18;;;;1514:5;1507:4;:12;;;;1534:7;1525:6;;:16;;;;;;;;;;;;;;;;;;1188:358;;;;407:2522;;1659:101;1708:13;1736:19;;:::i;:::-;;;;;;;;;;;;;;;;;;1729:26;;1659:101;:::o;407:2522::-;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "407:2522:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1849:21;1859:10;1849:9;:21::i;:::-;407:2522;762:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;623:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:438;;;;;;;;;;;;;;;;;;;;2847:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;487:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:438;2050:17;2130:14;2010:1;1987:25;;:11;:25;;;;1979:34;;;;;;;;2027:15;:13;:15::i;:::-;2019:24;;;;;;;;2070:9;2050:29;;2147:19;2161:4;;2147:9;:13;;:19;;;;:::i;:::-;2130:36;;2205:24;2219:9;2205;;:13;;:24;;;;:::i;:::-;2193:9;:36;;;;2236:5;;;;;;;;;;;:10;;;2247:11;2260:6;2236:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2299:11;2273:57;;2287:10;2273:57;;;2312:9;2323:6;2273:57;;;;;;;;;;;;;;;;;;;;;;;;2337:14;:12;:14::i;:::-;1918:438;;;:::o;762:19::-;;;;:::o;623:22::-;;;;:::o;821:24::-;;;;:::o;689:21::-;;;;;;;;;;;;;:::o;595:24::-;;;;:::o;2847:78::-;2888:4;2913:7;;2907:3;:13;2900:20;;2847:78;:::o;487:26::-;;;;;;;;;;;;;:::o;2590:206::-;2638:4;2650:17;2710:20;2677:9;;2670:3;:16;;:34;;;;;2697:7;;2690:3;:14;;2670:34;2650:54;;2746:1;2733:9;:14;;2710:37;;2760:12;:31;;;;;2776:15;2760:31;2753:38;;2590:206;;;:::o;138:173:11:-;196:7;251:9;220:1;215;:6;211:35;;;238:1;231:8;;;;211:35;267:1;263;:5;251:17;;290:1;285;281;:5;;;;;;;;:10;274:18;;;;;;305:1;298:8;;138:173;;;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o;2464:70:5:-;2503:6;;;;;;;;;;;:15;;:26;2519:9;2503:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2464:70::o;1659:101::-;1708:13;1736:19;;:::i;:::-;;;;;;;;;;;;;;;;;;1729:26;;1659:101;:::o;-1:-1:-1:-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport './MintableToken.sol';\nimport './SafeMath.sol';\n\n/**\n * @title Crowdsale\n * @dev Crowdsale is a base contract for managing a token crowdsale.\n * Crowdsales have a start and end timestamps, where investors can make\n * token purchases and the crowdsale will assign them tokens based\n * on a token per ETH rate. Funds collected are forwarded to a wallet\n * as they arrive.\n */\ncontract Crowdsale {\n using SafeMath for uint256;\n\n // The token being sold\n MintableToken public token;\n\n // start and end timestamps where investments are allowed (both inclusive)\n uint256 public startTime;\n uint256 public endTime;\n\n // address where funds are collected\n address public wallet;\n\n // how many token units a buyer gets per wei\n uint256 public rate;\n\n // amount of raised money in wei\n uint256 public weiRaised;\n\n /**\n * event for token purchase logging\n * @param purchaser who paid for the tokens\n * @param beneficiary who got the tokens\n * @param value weis paid for purchase\n * @param amount amount of tokens purchased\n */\n event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);\n\n\n function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet) public {\n require(_startTime >= now);\n require(_endTime >= _startTime);\n require(_rate > 0);\n require(_wallet != address(0));\n\n token = createTokenContract();\n startTime = _startTime;\n endTime = _endTime;\n rate = _rate;\n wallet = _wallet;\n }\n\n // creates the token to be sold.\n // override this method to have crowdsale of a specific mintable token.\n function createTokenContract() internal returns (MintableToken) {\n return new MintableToken();\n }\n\n\n // fallback function can be used to buy tokens\n function () external payable {\n buyTokens(msg.sender);\n }\n\n // low level token purchase function\n function buyTokens(address beneficiary) public payable {\n require(beneficiary != address(0));\n require(validPurchase());\n\n uint256 weiAmount = msg.value;\n\n // calculate token amount to be created\n uint256 tokens = weiAmount.mul(rate);\n\n // update state\n weiRaised = weiRaised.add(weiAmount);\n\n token.mint(beneficiary, tokens);\n TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);\n\n forwardFunds();\n }\n\n // send ether to the fund collection wallet\n // override to create custom fund forwarding mechanisms\n function forwardFunds() internal {\n wallet.transfer(msg.value);\n }\n\n // @return true if the transaction can buy tokens\n function validPurchase() internal view returns (bool) {\n bool withinPeriod = now >= startTime && now <= endTime;\n bool nonZeroPurchase = msg.value != 0;\n return withinPeriod && nonZeroPurchase;\n }\n\n // @return true if crowdsale event has ended\n function hasEnded() public view returns (bool) {\n return now > endTime;\n }\n\n\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Crowdsale.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Crowdsale.sol", + "exportedSymbols": { + "Crowdsale": [ + 1322 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1112, + "name": "PragmaDirective", + "src": "0:24:5" + }, + { + "attributes": { + "SourceUnit": 1538, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/MintableToken.sol", + "file": "./MintableToken.sol", + "scope": 1323, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1113, + "name": "ImportDirective", + "src": "26:29:5" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./SafeMath.sol", + "scope": 1323, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1114, + "name": "ImportDirective", + "src": "56:24:5" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + 1537 + ], + "contractKind": "contract", + "documentation": "@title Crowdsale\n@dev Crowdsale is a base contract for managing a token crowdsale.\nCrowdsales have a start and end timestamps, where investors can make\ntoken purchases and the crowdsale will assign them tokens based\non a token per ETH rate. Funds collected are forwarded to a wallet\nas they arrive.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1322 + ], + "name": "Crowdsale", + "scope": 1323 + }, + "children": [ + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 1115, + "name": "UserDefinedTypeName", + "src": "436:8:5" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1116, + "name": "ElementaryTypeName", + "src": "449:7:5" + } + ], + "id": 1117, + "name": "UsingForDirective", + "src": "430:27:5" + }, + { + "attributes": { + "constant": false, + "name": "token", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "contract MintableToken", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 1537, + "type": "contract MintableToken" + }, + "id": 1118, + "name": "UserDefinedTypeName", + "src": "487:13:5" + } + ], + "id": 1119, + "name": "VariableDeclaration", + "src": "487:26:5" + }, + { + "attributes": { + "constant": false, + "name": "startTime", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1120, + "name": "ElementaryTypeName", + "src": "595:7:5" + } + ], + "id": 1121, + "name": "VariableDeclaration", + "src": "595:24:5" + }, + { + "attributes": { + "constant": false, + "name": "endTime", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1122, + "name": "ElementaryTypeName", + "src": "623:7:5" + } + ], + "id": 1123, + "name": "VariableDeclaration", + "src": "623:22:5" + }, + { + "attributes": { + "constant": false, + "name": "wallet", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1124, + "name": "ElementaryTypeName", + "src": "689:7:5" + } + ], + "id": 1125, + "name": "VariableDeclaration", + "src": "689:21:5" + }, + { + "attributes": { + "constant": false, + "name": "rate", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1126, + "name": "ElementaryTypeName", + "src": "762:7:5" + } + ], + "id": 1127, + "name": "VariableDeclaration", + "src": "762:19:5" + }, + { + "attributes": { + "constant": false, + "name": "weiRaised", + "scope": 1322, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1128, + "name": "ElementaryTypeName", + "src": "821:7:5" + } + ], + "id": 1129, + "name": "VariableDeclaration", + "src": "821:24:5" + }, + { + "attributes": { + "anonymous": false, + "name": "TokenPurchase" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "purchaser", + "scope": 1139, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1130, + "name": "ElementaryTypeName", + "src": "1096:7:5" + } + ], + "id": 1131, + "name": "VariableDeclaration", + "src": "1096:25:5" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "beneficiary", + "scope": 1139, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1132, + "name": "ElementaryTypeName", + "src": "1123:7:5" + } + ], + "id": 1133, + "name": "VariableDeclaration", + "src": "1123:27:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 1139, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1134, + "name": "ElementaryTypeName", + "src": "1152:7:5" + } + ], + "id": 1135, + "name": "VariableDeclaration", + "src": "1152:13:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "amount", + "scope": 1139, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1136, + "name": "ElementaryTypeName", + "src": "1167:7:5" + } + ], + "id": 1137, + "name": "VariableDeclaration", + "src": "1167:14:5" + } + ], + "id": 1138, + "name": "ParameterList", + "src": "1095:87:5" + } + ], + "id": 1139, + "name": "EventDefinition", + "src": "1076:107:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Crowdsale", + "payable": false, + "scope": 1322, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_startTime", + "scope": 1198, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1140, + "name": "ElementaryTypeName", + "src": "1207:7:5" + } + ], + "id": 1141, + "name": "VariableDeclaration", + "src": "1207:18:5" + }, + { + "attributes": { + "constant": false, + "name": "_endTime", + "scope": 1198, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1142, + "name": "ElementaryTypeName", + "src": "1227:7:5" + } + ], + "id": 1143, + "name": "VariableDeclaration", + "src": "1227:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_rate", + "scope": 1198, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1144, + "name": "ElementaryTypeName", + "src": "1245:7:5" + } + ], + "id": 1145, + "name": "VariableDeclaration", + "src": "1245:13:5" + }, + { + "attributes": { + "constant": false, + "name": "_wallet", + "scope": 1198, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1146, + "name": "ElementaryTypeName", + "src": "1260:7:5" + } + ], + "id": 1147, + "name": "VariableDeclaration", + "src": "1260:15:5" + } + ], + "id": 1148, + "name": "ParameterList", + "src": "1206:70:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1149, + "name": "ParameterList", + "src": "1284:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1150, + "name": "Identifier", + "src": "1290:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1141, + "type": "uint256", + "value": "_startTime" + }, + "id": 1151, + "name": "Identifier", + "src": "1298:10:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 1152, + "name": "Identifier", + "src": "1312:3:5" + } + ], + "id": 1153, + "name": "BinaryOperation", + "src": "1298:17:5" + } + ], + "id": 1154, + "name": "FunctionCall", + "src": "1290:26:5" + } + ], + "id": 1155, + "name": "ExpressionStatement", + "src": "1290:26:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1156, + "name": "Identifier", + "src": "1322:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1143, + "type": "uint256", + "value": "_endTime" + }, + "id": 1157, + "name": "Identifier", + "src": "1330:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1141, + "type": "uint256", + "value": "_startTime" + }, + "id": 1158, + "name": "Identifier", + "src": "1342:10:5" + } + ], + "id": 1159, + "name": "BinaryOperation", + "src": "1330:22:5" + } + ], + "id": 1160, + "name": "FunctionCall", + "src": "1322:31:5" + } + ], + "id": 1161, + "name": "ExpressionStatement", + "src": "1322:31:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1162, + "name": "Identifier", + "src": "1359:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1145, + "type": "uint256", + "value": "_rate" + }, + "id": 1163, + "name": "Identifier", + "src": "1367:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1164, + "name": "Literal", + "src": "1375:1:5" + } + ], + "id": 1165, + "name": "BinaryOperation", + "src": "1367:9:5" + } + ], + "id": 1166, + "name": "FunctionCall", + "src": "1359:18:5" + } + ], + "id": 1167, + "name": "ExpressionStatement", + "src": "1359:18:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1168, + "name": "Identifier", + "src": "1383:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1147, + "type": "address", + "value": "_wallet" + }, + "id": 1169, + "name": "Identifier", + "src": "1391:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1170, + "name": "ElementaryTypeNameExpression", + "src": "1402:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1171, + "name": "Literal", + "src": "1410:1:5" + } + ], + "id": 1172, + "name": "FunctionCall", + "src": "1402:10:5" + } + ], + "id": 1173, + "name": "BinaryOperation", + "src": "1391:21:5" + } + ], + "id": 1174, + "name": "FunctionCall", + "src": "1383:30:5" + } + ], + "id": 1175, + "name": "ExpressionStatement", + "src": "1383:30:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract MintableToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 1176, + "name": "Identifier", + "src": "1420:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract MintableToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1208, + "type": "function () returns (contract MintableToken)", + "value": "createTokenContract" + }, + "id": 1177, + "name": "Identifier", + "src": "1428:19:5" + } + ], + "id": 1178, + "name": "FunctionCall", + "src": "1428:21:5" + } + ], + "id": 1179, + "name": "Assignment", + "src": "1420:29:5" + } + ], + "id": 1180, + "name": "ExpressionStatement", + "src": "1420:29:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1121, + "type": "uint256", + "value": "startTime" + }, + "id": 1181, + "name": "Identifier", + "src": "1455:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1141, + "type": "uint256", + "value": "_startTime" + }, + "id": 1182, + "name": "Identifier", + "src": "1467:10:5" + } + ], + "id": 1183, + "name": "Assignment", + "src": "1455:22:5" + } + ], + "id": 1184, + "name": "ExpressionStatement", + "src": "1455:22:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1123, + "type": "uint256", + "value": "endTime" + }, + "id": 1185, + "name": "Identifier", + "src": "1483:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1143, + "type": "uint256", + "value": "_endTime" + }, + "id": 1186, + "name": "Identifier", + "src": "1493:8:5" + } + ], + "id": 1187, + "name": "Assignment", + "src": "1483:18:5" + } + ], + "id": 1188, + "name": "ExpressionStatement", + "src": "1483:18:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1127, + "type": "uint256", + "value": "rate" + }, + "id": 1189, + "name": "Identifier", + "src": "1507:4:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1145, + "type": "uint256", + "value": "_rate" + }, + "id": 1190, + "name": "Identifier", + "src": "1514:5:5" + } + ], + "id": 1191, + "name": "Assignment", + "src": "1507:12:5" + } + ], + "id": 1192, + "name": "ExpressionStatement", + "src": "1507:12:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1125, + "type": "address", + "value": "wallet" + }, + "id": 1193, + "name": "Identifier", + "src": "1525:6:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1147, + "type": "address", + "value": "_wallet" + }, + "id": 1194, + "name": "Identifier", + "src": "1534:7:5" + } + ], + "id": 1195, + "name": "Assignment", + "src": "1525:16:5" + } + ], + "id": 1196, + "name": "ExpressionStatement", + "src": "1525:16:5" + } + ], + "id": 1197, + "name": "Block", + "src": "1284:262:5" + } + ], + "id": 1198, + "name": "FunctionDefinition", + "src": "1188:358:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "createTokenContract", + "payable": false, + "scope": 1322, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1199, + "name": "ParameterList", + "src": "1687:2:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1208, + "stateVariable": false, + "storageLocation": "default", + "type": "contract MintableToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 1537, + "type": "contract MintableToken" + }, + "id": 1200, + "name": "UserDefinedTypeName", + "src": "1708:13:5" + } + ], + "id": 1201, + "name": "VariableDeclaration", + "src": "1708:13:5" + } + ], + "id": 1202, + "name": "ParameterList", + "src": "1707:15:5" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1202 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract MintableToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function () returns (contract MintableToken)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 1537, + "type": "contract MintableToken" + }, + "id": 1203, + "name": "UserDefinedTypeName", + "src": "1740:13:5" + } + ], + "id": 1204, + "name": "NewExpression", + "src": "1736:17:5" + } + ], + "id": 1205, + "name": "FunctionCall", + "src": "1736:19:5" + } + ], + "id": 1206, + "name": "Return", + "src": "1729:26:5" + } + ], + "id": 1207, + "name": "Block", + "src": "1723:37:5" + } + ], + "id": 1208, + "name": "FunctionDefinition", + "src": "1659:101:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 1322, + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1209, + "name": "ParameterList", + "src": "1823:2:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1210, + "name": "ParameterList", + "src": "1843:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1273, + "type": "function (address)", + "value": "buyTokens" + }, + "id": 1211, + "name": "Identifier", + "src": "1849:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1212, + "name": "Identifier", + "src": "1859:3:5" + } + ], + "id": 1213, + "name": "MemberAccess", + "src": "1859:10:5" + } + ], + "id": 1214, + "name": "FunctionCall", + "src": "1849:21:5" + } + ], + "id": 1215, + "name": "ExpressionStatement", + "src": "1849:21:5" + } + ], + "id": 1216, + "name": "Block", + "src": "1843:32:5" + } + ], + "id": 1217, + "name": "FunctionDefinition", + "src": "1814:61:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "buyTokens", + "payable": true, + "scope": 1322, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 1273, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1218, + "name": "ElementaryTypeName", + "src": "1937:7:5" + } + ], + "id": 1219, + "name": "VariableDeclaration", + "src": "1937:19:5" + } + ], + "id": 1220, + "name": "ParameterList", + "src": "1936:21:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1221, + "name": "ParameterList", + "src": "1973:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1222, + "name": "Identifier", + "src": "1979:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1219, + "type": "address", + "value": "beneficiary" + }, + "id": 1223, + "name": "Identifier", + "src": "1987:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1224, + "name": "ElementaryTypeNameExpression", + "src": "2002:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1225, + "name": "Literal", + "src": "2010:1:5" + } + ], + "id": 1226, + "name": "FunctionCall", + "src": "2002:10:5" + } + ], + "id": 1227, + "name": "BinaryOperation", + "src": "1987:25:5" + } + ], + "id": 1228, + "name": "FunctionCall", + "src": "1979:34:5" + } + ], + "id": 1229, + "name": "ExpressionStatement", + "src": "1979:34:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1230, + "name": "Identifier", + "src": "2019:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1311, + "type": "function () view returns (bool)", + "value": "validPurchase" + }, + "id": 1231, + "name": "Identifier", + "src": "2027:13:5" + } + ], + "id": 1232, + "name": "FunctionCall", + "src": "2027:15:5" + } + ], + "id": 1233, + "name": "FunctionCall", + "src": "2019:24:5" + } + ], + "id": 1234, + "name": "ExpressionStatement", + "src": "2019:24:5" + }, + { + "attributes": { + "assignments": [ + 1236 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "weiAmount", + "scope": 1273, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1235, + "name": "ElementaryTypeName", + "src": "2050:7:5" + } + ], + "id": 1236, + "name": "VariableDeclaration", + "src": "2050:17:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1237, + "name": "Identifier", + "src": "2070:3:5" + } + ], + "id": 1238, + "name": "MemberAccess", + "src": "2070:9:5" + } + ], + "id": 1239, + "name": "VariableDeclarationStatement", + "src": "2050:29:5" + }, + { + "attributes": { + "assignments": [ + 1241 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokens", + "scope": 1273, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1240, + "name": "ElementaryTypeName", + "src": "2130:7:5" + } + ], + "id": 1241, + "name": "VariableDeclaration", + "src": "2130:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 1628, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1236, + "type": "uint256", + "value": "weiAmount" + }, + "id": 1242, + "name": "Identifier", + "src": "2147:9:5" + } + ], + "id": 1243, + "name": "MemberAccess", + "src": "2147:13:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1127, + "type": "uint256", + "value": "rate" + }, + "id": 1244, + "name": "Identifier", + "src": "2161:4:5" + } + ], + "id": 1245, + "name": "FunctionCall", + "src": "2147:19:5" + } + ], + "id": 1246, + "name": "VariableDeclarationStatement", + "src": "2130:36:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 1247, + "name": "Identifier", + "src": "2193:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1129, + "type": "uint256", + "value": "weiRaised" + }, + "id": 1248, + "name": "Identifier", + "src": "2205:9:5" + } + ], + "id": 1249, + "name": "MemberAccess", + "src": "2205:13:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1236, + "type": "uint256", + "value": "weiAmount" + }, + "id": 1250, + "name": "Identifier", + "src": "2219:9:5" + } + ], + "id": 1251, + "name": "FunctionCall", + "src": "2205:24:5" + } + ], + "id": 1252, + "name": "Assignment", + "src": "2193:36:5" + } + ], + "id": 1253, + "name": "ExpressionStatement", + "src": "2193:36:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 1517, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1119, + "type": "contract MintableToken", + "value": "token" + }, + "id": 1254, + "name": "Identifier", + "src": "2236:5:5" + } + ], + "id": 1256, + "name": "MemberAccess", + "src": "2236:10:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1219, + "type": "address", + "value": "beneficiary" + }, + "id": 1257, + "name": "Identifier", + "src": "2247:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1241, + "type": "uint256", + "value": "tokens" + }, + "id": 1258, + "name": "Identifier", + "src": "2260:6:5" + } + ], + "id": 1259, + "name": "FunctionCall", + "src": "2236:31:5" + } + ], + "id": 1260, + "name": "ExpressionStatement", + "src": "2236:31:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1139, + "type": "function (address,address,uint256,uint256)", + "value": "TokenPurchase" + }, + "id": 1261, + "name": "Identifier", + "src": "2273:13:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1262, + "name": "Identifier", + "src": "2287:3:5" + } + ], + "id": 1263, + "name": "MemberAccess", + "src": "2287:10:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1219, + "type": "address", + "value": "beneficiary" + }, + "id": 1264, + "name": "Identifier", + "src": "2299:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1236, + "type": "uint256", + "value": "weiAmount" + }, + "id": 1265, + "name": "Identifier", + "src": "2312:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1241, + "type": "uint256", + "value": "tokens" + }, + "id": 1266, + "name": "Identifier", + "src": "2323:6:5" + } + ], + "id": 1267, + "name": "FunctionCall", + "src": "2273:57:5" + } + ], + "id": 1268, + "name": "ExpressionStatement", + "src": "2273:57:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1284, + "type": "function ()", + "value": "forwardFunds" + }, + "id": 1269, + "name": "Identifier", + "src": "2337:12:5" + } + ], + "id": 1270, + "name": "FunctionCall", + "src": "2337:14:5" + } + ], + "id": 1271, + "name": "ExpressionStatement", + "src": "2337:14:5" + } + ], + "id": 1272, + "name": "Block", + "src": "1973:383:5" + } + ], + "id": 1273, + "name": "FunctionDefinition", + "src": "1918:438:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "forwardFunds", + "payable": false, + "scope": 1322, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1274, + "name": "ParameterList", + "src": "2485:2:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1275, + "name": "ParameterList", + "src": "2497:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1125, + "type": "address", + "value": "wallet" + }, + "id": 1276, + "name": "Identifier", + "src": "2503:6:5" + } + ], + "id": 1278, + "name": "MemberAccess", + "src": "2503:15:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1279, + "name": "Identifier", + "src": "2519:3:5" + } + ], + "id": 1280, + "name": "MemberAccess", + "src": "2519:9:5" + } + ], + "id": 1281, + "name": "FunctionCall", + "src": "2503:26:5" + } + ], + "id": 1282, + "name": "ExpressionStatement", + "src": "2503:26:5" + } + ], + "id": 1283, + "name": "Block", + "src": "2497:37:5" + } + ], + "id": 1284, + "name": "FunctionDefinition", + "src": "2464:70:5" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "validPurchase", + "payable": false, + "scope": 1322, + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1285, + "name": "ParameterList", + "src": "2612:2:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1311, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1286, + "name": "ElementaryTypeName", + "src": "2638:4:5" + } + ], + "id": 1287, + "name": "VariableDeclaration", + "src": "2638:4:5" + } + ], + "id": 1288, + "name": "ParameterList", + "src": "2637:6:5" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1290 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "withinPeriod", + "scope": 1311, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1289, + "name": "ElementaryTypeName", + "src": "2650:4:5" + } + ], + "id": 1290, + "name": "VariableDeclaration", + "src": "2650:17:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 1291, + "name": "Identifier", + "src": "2670:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1121, + "type": "uint256", + "value": "startTime" + }, + "id": 1292, + "name": "Identifier", + "src": "2677:9:5" + } + ], + "id": 1293, + "name": "BinaryOperation", + "src": "2670:16:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 1294, + "name": "Identifier", + "src": "2690:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1123, + "type": "uint256", + "value": "endTime" + }, + "id": 1295, + "name": "Identifier", + "src": "2697:7:5" + } + ], + "id": 1296, + "name": "BinaryOperation", + "src": "2690:14:5" + } + ], + "id": 1297, + "name": "BinaryOperation", + "src": "2670:34:5" + } + ], + "id": 1298, + "name": "VariableDeclarationStatement", + "src": "2650:54:5" + }, + { + "attributes": { + "assignments": [ + 1300 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "nonZeroPurchase", + "scope": 1311, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1299, + "name": "ElementaryTypeName", + "src": "2710:4:5" + } + ], + "id": 1300, + "name": "VariableDeclaration", + "src": "2710:20:5" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1301, + "name": "Identifier", + "src": "2733:3:5" + } + ], + "id": 1302, + "name": "MemberAccess", + "src": "2733:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1303, + "name": "Literal", + "src": "2746:1:5" + } + ], + "id": 1304, + "name": "BinaryOperation", + "src": "2733:14:5" + } + ], + "id": 1305, + "name": "VariableDeclarationStatement", + "src": "2710:37:5" + }, + { + "attributes": { + "functionReturnParameters": 1288 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1290, + "type": "bool", + "value": "withinPeriod" + }, + "id": 1306, + "name": "Identifier", + "src": "2760:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1300, + "type": "bool", + "value": "nonZeroPurchase" + }, + "id": 1307, + "name": "Identifier", + "src": "2776:15:5" + } + ], + "id": 1308, + "name": "BinaryOperation", + "src": "2760:31:5" + } + ], + "id": 1309, + "name": "Return", + "src": "2753:38:5" + } + ], + "id": 1310, + "name": "Block", + "src": "2644:152:5" + } + ], + "id": 1311, + "name": "FunctionDefinition", + "src": "2590:206:5" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "hasEnded", + "payable": false, + "scope": 1322, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1312, + "name": "ParameterList", + "src": "2864:2:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1321, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1313, + "name": "ElementaryTypeName", + "src": "2888:4:5" + } + ], + "id": 1314, + "name": "VariableDeclaration", + "src": "2888:4:5" + } + ], + "id": 1315, + "name": "ParameterList", + "src": "2887:6:5" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1315 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1951, + "type": "uint256", + "value": "now" + }, + "id": 1316, + "name": "Identifier", + "src": "2907:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1123, + "type": "uint256", + "value": "endTime" + }, + "id": 1317, + "name": "Identifier", + "src": "2913:7:5" + } + ], + "id": 1318, + "name": "BinaryOperation", + "src": "2907:13:5" + } + ], + "id": 1319, + "name": "Return", + "src": "2900:20:5" + } + ], + "id": 1320, + "name": "Block", + "src": "2894:31:5" + } + ], + "id": 1321, + "name": "FunctionDefinition", + "src": "2847:78:5" + } + ], + "id": 1322, + "name": "ContractDefinition", + "src": "407:2522:5" + } + ], + "id": 1323, + "name": "SourceUnit", + "src": "0:2930:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.321Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json new file mode 100644 index 0000000..005e6ed --- /dev/null +++ b/build/contracts/ERC20.json @@ -0,0 +1,745 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\n\n\nimport './ERC20Basic.sol';\n\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract ERC20 is ERC20Basic {\n function allowance(address owner, address spender) public view returns (uint256);\n function transferFrom(address from, address to, uint256 value) public returns (bool);\n function approve(address spender, uint256 value) public returns (bool);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 1365 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1324, + "name": "PragmaDirective", + "src": "0:24:6" + }, + { + "attributes": { + "SourceUnit": 1395, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "scope": 1366, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1325, + "name": "ImportDirective", + "src": "27:26:6" + }, + { + "attributes": { + "contractDependencies": [ + 1394 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 1365, + 1394 + ], + "name": "ERC20", + "scope": 1366 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 1394, + "type": "contract ERC20Basic" + }, + "id": 1326, + "name": "UserDefinedTypeName", + "src": "163:10:6" + } + ], + "id": 1327, + "name": "InheritanceSpecifier", + "src": "163:10:6" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "allowance", + "payable": false, + "scope": 1365, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 1336, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1328, + "name": "ElementaryTypeName", + "src": "197:7:6" + } + ], + "id": 1329, + "name": "VariableDeclaration", + "src": "197:13:6" + }, + { + "attributes": { + "constant": false, + "name": "spender", + "scope": 1336, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1330, + "name": "ElementaryTypeName", + "src": "212:7:6" + } + ], + "id": 1331, + "name": "VariableDeclaration", + "src": "212:15:6" + } + ], + "id": 1332, + "name": "ParameterList", + "src": "196:32:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1336, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1333, + "name": "ElementaryTypeName", + "src": "250:7:6" + } + ], + "id": 1334, + "name": "VariableDeclaration", + "src": "250:7:6" + } + ], + "id": 1335, + "name": "ParameterList", + "src": "249:9:6" + } + ], + "id": 1336, + "name": "FunctionDefinition", + "src": "178:81:6" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transferFrom", + "payable": false, + "scope": 1365, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "from", + "scope": 1347, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1337, + "name": "ElementaryTypeName", + "src": "284:7:6" + } + ], + "id": 1338, + "name": "VariableDeclaration", + "src": "284:12:6" + }, + { + "attributes": { + "constant": false, + "name": "to", + "scope": 1347, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1339, + "name": "ElementaryTypeName", + "src": "298:7:6" + } + ], + "id": 1340, + "name": "VariableDeclaration", + "src": "298:10:6" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 1347, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1341, + "name": "ElementaryTypeName", + "src": "310:7:6" + } + ], + "id": 1342, + "name": "VariableDeclaration", + "src": "310:13:6" + } + ], + "id": 1343, + "name": "ParameterList", + "src": "283:41:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1347, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1344, + "name": "ElementaryTypeName", + "src": "341:4:6" + } + ], + "id": 1345, + "name": "VariableDeclaration", + "src": "341:4:6" + } + ], + "id": 1346, + "name": "ParameterList", + "src": "340:6:6" + } + ], + "id": 1347, + "name": "FunctionDefinition", + "src": "262:85:6" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "approve", + "payable": false, + "scope": 1365, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "spender", + "scope": 1356, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1348, + "name": "ElementaryTypeName", + "src": "367:7:6" + } + ], + "id": 1349, + "name": "VariableDeclaration", + "src": "367:15:6" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 1356, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1350, + "name": "ElementaryTypeName", + "src": "384:7:6" + } + ], + "id": 1351, + "name": "VariableDeclaration", + "src": "384:13:6" + } + ], + "id": 1352, + "name": "ParameterList", + "src": "366:32:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1356, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1353, + "name": "ElementaryTypeName", + "src": "415:4:6" + } + ], + "id": 1354, + "name": "VariableDeclaration", + "src": "415:4:6" + } + ], + "id": 1355, + "name": "ParameterList", + "src": "414:6:6" + } + ], + "id": 1356, + "name": "FunctionDefinition", + "src": "350:71:6" + }, + { + "attributes": { + "anonymous": false, + "name": "Approval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "owner", + "scope": 1364, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1357, + "name": "ElementaryTypeName", + "src": "439:7:6" + } + ], + "id": 1358, + "name": "VariableDeclaration", + "src": "439:21:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "spender", + "scope": 1364, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1359, + "name": "ElementaryTypeName", + "src": "462:7:6" + } + ], + "id": 1360, + "name": "VariableDeclaration", + "src": "462:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 1364, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1361, + "name": "ElementaryTypeName", + "src": "487:7:6" + } + ], + "id": 1362, + "name": "VariableDeclaration", + "src": "487:13:6" + } + ], + "id": 1363, + "name": "ParameterList", + "src": "438:63:6" + } + ], + "id": 1364, + "name": "EventDefinition", + "src": "424:78:6" + } + ], + "id": 1365, + "name": "ContractDefinition", + "src": "145:359:6" + } + ], + "id": 1366, + "name": "SourceUnit", + "src": "0:505:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.305Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json new file mode 100644 index 0000000..d861f1c --- /dev/null +++ b/build/contracts/ERC20Basic.json @@ -0,0 +1,474 @@ +{ + "contractName": "ERC20Basic", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\n\n\n/**\n * @title ERC20Basic\n * @dev Simpler version of ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/179\n */\ncontract ERC20Basic {\n uint256 public totalSupply;\n function balanceOf(address who) public view returns (uint256);\n function transfer(address to, uint256 value) public returns (bool);\n event Transfer(address indexed from, address indexed to, uint256 value);\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20Basic.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 1394 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1367, + "name": "PragmaDirective", + "src": "0:24:7" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 1394 + ], + "name": "ERC20Basic", + "scope": 1395 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalSupply", + "scope": 1394, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1368, + "name": "ElementaryTypeName", + "src": "179:7:7" + } + ], + "id": 1369, + "name": "VariableDeclaration", + "src": "179:26:7" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 1394, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "who", + "scope": 1376, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1370, + "name": "ElementaryTypeName", + "src": "228:7:7" + } + ], + "id": 1371, + "name": "VariableDeclaration", + "src": "228:11:7" + } + ], + "id": 1372, + "name": "ParameterList", + "src": "227:13:7" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1376, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1373, + "name": "ElementaryTypeName", + "src": "262:7:7" + } + ], + "id": 1374, + "name": "VariableDeclaration", + "src": "262:7:7" + } + ], + "id": 1375, + "name": "ParameterList", + "src": "261:9:7" + } + ], + "id": 1376, + "name": "FunctionDefinition", + "src": "209:62:7" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 1394, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "to", + "scope": 1385, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1377, + "name": "ElementaryTypeName", + "src": "292:7:7" + } + ], + "id": 1378, + "name": "VariableDeclaration", + "src": "292:10:7" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 1385, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1379, + "name": "ElementaryTypeName", + "src": "304:7:7" + } + ], + "id": 1380, + "name": "VariableDeclaration", + "src": "304:13:7" + } + ], + "id": 1381, + "name": "ParameterList", + "src": "291:27:7" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1385, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1382, + "name": "ElementaryTypeName", + "src": "335:4:7" + } + ], + "id": 1383, + "name": "VariableDeclaration", + "src": "335:4:7" + } + ], + "id": 1384, + "name": "ParameterList", + "src": "334:6:7" + } + ], + "id": 1385, + "name": "FunctionDefinition", + "src": "274:67:7" + }, + { + "attributes": { + "anonymous": false, + "name": "Transfer" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "from", + "scope": 1393, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1386, + "name": "ElementaryTypeName", + "src": "359:7:7" + } + ], + "id": 1387, + "name": "VariableDeclaration", + "src": "359:20:7" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "to", + "scope": 1393, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1388, + "name": "ElementaryTypeName", + "src": "381:7:7" + } + ], + "id": 1389, + "name": "VariableDeclaration", + "src": "381:18:7" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 1393, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1390, + "name": "ElementaryTypeName", + "src": "401:7:7" + } + ], + "id": 1391, + "name": "VariableDeclaration", + "src": "401:13:7" + } + ], + "id": 1392, + "name": "ParameterList", + "src": "358:57:7" + } + ], + "id": 1393, + "name": "EventDefinition", + "src": "344:72:7" + } + ], + "id": 1394, + "name": "ContractDefinition", + "src": "155:263:7" + } + ], + "id": 1395, + "name": "SourceUnit", + "src": "0:419:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.306Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20Interface.json b/build/contracts/ERC20Interface.json new file mode 100644 index 0000000..3136489 --- /dev/null +++ b/build/contracts/ERC20Interface.json @@ -0,0 +1,9134 @@ +{ + "contractName": "ERC20Interface", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.14;\n\n/**\n * Contract that exposes the needed erc20 token functions\n */\n\ncontract ERC20Interface {\n // Send _value amount of tokens to address _to\n function transfer(address _to, uint256 _value) returns (bool success);\n // Get the account balance of another account with address _owner\n function balanceOf(address _owner) constant returns (uint256 balance);\n}\n\n/**\n * Contract that will forward any incoming Ether to its creator\n */\ncontract Forwarder {\n // Address to which any funds sent to this contract will be forwarded\n address public parentAddress;\n event ForwarderDeposited(address from, uint value, bytes data);\n\n event TokensFlushed(\n address tokenContractAddress, // The contract address of the token\n uint value // Amount of token sent\n );\n\n /**\n * Create the contract, and set the destination address to that of the creator\n */\n function Forwarder() {\n parentAddress = msg.sender;\n }\n\n /**\n * Modifier that will execute internal code block only if the sender is a parent of the forwarder contract\n */\n modifier onlyParent {\n if (msg.sender != parentAddress) {\n throw;\n }\n _;\n }\n\n /**\n * Default function; Gets called when Ether is deposited, and forwards it to the destination address\n */\n function() payable {\n if (!parentAddress.call.value(msg.value)(msg.data))\n throw;\n // Fire off the deposited event if we can forward it \n ForwarderDeposited(msg.sender, msg.value, msg.data);\n }\n\n /**\n * Execute a token transfer of the full balance from the forwarder token to the main wallet contract\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushTokens(address tokenContractAddress) onlyParent {\n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n var forwarderAddress = address(this);\n var forwarderBalance = instance.balanceOf(forwarderAddress);\n if (forwarderBalance == 0) {\n return;\n }\n if (!instance.transfer(parentAddress, forwarderBalance)) {\n throw;\n }\n TokensFlushed(tokenContractAddress, forwarderBalance);\n }\n\n /**\n * It is possible that funds were sent to this address before the contract was deployed.\n * We can flush those funds to the destination address.\n */\n function flush() {\n if (!parentAddress.call.value(this.balance)())\n throw;\n }\n}\n\n/**\n * Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\n * Typically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.\n */\ncontract WalletSimple {\n // Events\n event Deposited(address from, uint value, bytes data);\n event SafeModeActivated(address msgSender);\n event Transacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, data, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of Wei sent to the address\n bytes data // Data sent when invoking the transaction\n );\n event TokenTransacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, tokenContractAddress, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of token sent\n address tokenContractAddress // The contract address of the token\n );\n\n // Public fields\n address[] public signers; // The addresses that can co-sign transactions on the wallet\n bool public safeMode = false; // When active, wallet may only send to signer addresses\n\n // Internal fields\n uint constant SEQUENCE_ID_WINDOW_SIZE = 10;\n uint[10] recentSequenceIds;\n\n /**\n * Modifier that will execute internal code block only if the sender is an authorized signer on this wallet\n */\n modifier onlysigner {\n if (!isSigner(msg.sender)) {\n throw;\n }\n _;\n }\n\n /**\n * Set up a simple multi-sig wallet by specifying the signers allowed to be used on this wallet.\n * 2 signers will be required to send a transaction from this wallet.\n * Note: The sender is NOT automatically added to the list of signers.\n * Signers CANNOT be changed once they are set\n *\n * @param allowedSigners An array of signers on the wallet\n */\n function WalletSimple(address[] allowedSigners) {\n if (allowedSigners.length != 3) {\n // Invalid number of signers\n throw;\n }\n signers = allowedSigners;\n }\n\n /**\n * Gets called when a transaction is received without calling a method\n */\n function() payable {\n if (msg.value > 0) {\n // Fire deposited event if we are receiving funds\n Deposited(msg.sender, msg.value, msg.data);\n }\n }\n\n /**\n * Create a new contract (and also address) that forwards funds to this contract\n * returns address of newly created forwarder address\n */\n function createForwarder() onlysigner returns (address) {\n return new Forwarder();\n }\n\n /**\n * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, data, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in Wei to be sent\n * @param data the data to send to the toAddress when invoking the transaction\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, data, expireTime, sequenceId)\n */\n function sendMultiSig(address toAddress, uint value, bytes data, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ETHER\", toAddress, value, data, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n\n // Success, send the transaction\n if (!(toAddress.call.value(value)(data))) {\n // Failed executing transaction\n throw;\n }\n Transacted(msg.sender, otherSigner, operationHash, toAddress, value, data);\n }\n \n /**\n * Execute a multi-signature token transfer from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, tokenContractAddress, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in tokens to be sent\n * @param tokenContractAddress the address of the erc20 token contract\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, tokenContractAddress, expireTime, sequenceId)\n */\n function sendMultiSigToken(address toAddress, uint value, address tokenContractAddress, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ERC20\", toAddress, value, tokenContractAddress, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n \n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n if (!instance.transfer(toAddress, value)) {\n throw;\n }\n TokenTransacted(msg.sender, otherSigner, operationHash, toAddress, value, tokenContractAddress);\n }\n\n /**\n * Execute a token flush from one of the forwarder addresses. This transfer needs only a single signature and can be done by any signer\n *\n * @param forwarderAddress the address of the forwarder address to flush the tokens from\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushForwarderTokens(address forwarderAddress, address tokenContractAddress) onlysigner { \n Forwarder forwarder = Forwarder(forwarderAddress);\n forwarder.flushTokens(tokenContractAddress);\n } \n \n /**\n * Do common multisig verification for both eth sends and erc20token transfers\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * returns address of the address to send tokens or eth to\n */\n function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) {\n\n var otherSigner = recoverAddressFromSignature(operationHash, signature);\n\n // Verify if we are in safe mode. In safe mode, the wallet can only send to signers\n if (safeMode && !isSigner(toAddress)) {\n // We are in safe mode and the toAddress is not a signer. Disallow!\n throw;\n }\n // Verify that the transaction has not expired\n if (expireTime < block.timestamp) {\n // Transaction expired\n throw;\n }\n\n // Try to insert the sequence ID. Will throw if the sequence id was invalid\n tryInsertSequenceId(sequenceId);\n\n if (!isSigner(otherSigner)) {\n // Other signer not on this wallet or operation does not match arguments\n throw;\n }\n if (otherSigner == msg.sender) {\n // Cannot approve own transaction\n throw;\n }\n\n return otherSigner;\n }\n\n /**\n * Irrevocably puts contract into safe mode. When in this mode, transactions may only be sent to signing addresses.\n */\n function activateSafeMode() onlysigner {\n safeMode = true;\n SafeModeActivated(msg.sender);\n }\n\n /**\n * Determine if an address is a signer on this wallet\n * @param signer address to check\n * returns boolean indicating whether address is signer or not\n */\n function isSigner(address signer) returns (bool) {\n // Iterate through all signers on the wallet and\n for (uint i = 0; i < signers.length; i++) {\n if (signers[i] == signer) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the second signer's address using ecrecover\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * returns address recovered from the signature\n */\n function recoverAddressFromSignature(bytes32 operationHash, bytes signature) private returns (address) {\n if (signature.length != 65) {\n throw;\n }\n // We need to unpack the signature, which is given as an array of 65 bytes (from eth.sign)\n bytes32 r;\n bytes32 s;\n uint8 v;\n assembly {\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n }\n if (v < 27) {\n v += 27; // Ethereum versions are 27 or 28 as opposed to 0 or 1 which is submitted by some signing libs\n }\n return ecrecover(operationHash, v, r, s);\n }\n\n /**\n * Verify that the sequence id has not been used before and inserts it. Throws if the sequence ID was not accepted.\n * We collect a window of up to 10 recent sequence ids, and allow any sequence id that is not in the window and\n * greater than the minimum element in the window.\n * @param sequenceId to insert into array of stored ids\n */\n function tryInsertSequenceId(uint sequenceId) onlysigner private {\n // Keep a pointer to the lowest value element in the window\n uint lowestValueIndex = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] == sequenceId) {\n // This sequence ID has been used before. Disallow!\n throw;\n }\n if (recentSequenceIds[i] < recentSequenceIds[lowestValueIndex]) {\n lowestValueIndex = i;\n }\n }\n if (sequenceId < recentSequenceIds[lowestValueIndex]) {\n // The sequence ID being used is lower than the lowest value in the window\n // so we cannot accept it as it may have been used before\n throw;\n }\n if (sequenceId > (recentSequenceIds[lowestValueIndex] + 10000)) {\n // Block sequence IDs which are much higher than the lowest value\n // This prevents people blocking the contract by using very large sequence IDs quickly\n throw;\n }\n recentSequenceIds[lowestValueIndex] = sequenceId;\n }\n\n /**\n * Gets the next available sequence ID for signing when using executeAndConfirm\n * returns the sequenceId one higher than the highest currently stored\n */\n function getNextSequenceId() returns (uint) {\n uint highestSequenceId = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] > highestSequenceId) {\n highestSequenceId = recentSequenceIds[i];\n }\n }\n return highestSequenceId + 1;\n }\n}", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "exportedSymbols": { + "ERC20Interface": [ + 18 + ], + "Forwarder": [ + 139 + ], + "WalletSimple": [ + 654 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".14" + ] + }, + "id": 1, + "name": "PragmaDirective", + "src": "0:24:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that exposes the needed erc20 token functions", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 18 + ], + "name": "ERC20Interface", + "scope": 655 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 18, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2, + "name": "ElementaryTypeName", + "src": "188:7:0" + } + ], + "id": 3, + "name": "VariableDeclaration", + "src": "188:11:0" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4, + "name": "ElementaryTypeName", + "src": "201:7:0" + } + ], + "id": 5, + "name": "VariableDeclaration", + "src": "201:14:0" + } + ], + "id": 6, + "name": "ParameterList", + "src": "187:29:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "success", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7, + "name": "ElementaryTypeName", + "src": "226:4:0" + } + ], + "id": 8, + "name": "VariableDeclaration", + "src": "226:12:0" + } + ], + "id": 9, + "name": "ParameterList", + "src": "225:14:0" + } + ], + "id": 10, + "name": "FunctionDefinition", + "src": "170:70:0" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 18, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 11, + "name": "ElementaryTypeName", + "src": "330:7:0" + } + ], + "id": 12, + "name": "VariableDeclaration", + "src": "330:14:0" + } + ], + "id": 13, + "name": "ParameterList", + "src": "329:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 14, + "name": "ElementaryTypeName", + "src": "364:7:0" + } + ], + "id": 15, + "name": "VariableDeclaration", + "src": "364:15:0" + } + ], + "id": 16, + "name": "ParameterList", + "src": "363:17:0" + } + ], + "id": 17, + "name": "FunctionDefinition", + "src": "311:70:0" + } + ], + "id": 18, + "name": "ContractDefinition", + "src": "93:290:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that will forward any incoming Ether to its creator", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 139 + ], + "name": "Forwarder", + "scope": 655 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "parentAddress", + "scope": 139, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 19, + "name": "ElementaryTypeName", + "src": "552:7:0" + } + ], + "id": 20, + "name": "VariableDeclaration", + "src": "552:28:0" + }, + { + "attributes": { + "anonymous": false, + "name": "ForwarderDeposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 21, + "name": "ElementaryTypeName", + "src": "609:7:0" + } + ], + "id": 22, + "name": "VariableDeclaration", + "src": "609:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 23, + "name": "ElementaryTypeName", + "src": "623:4:0" + } + ], + "id": 24, + "name": "VariableDeclaration", + "src": "623:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 25, + "name": "ElementaryTypeName", + "src": "635:5:0" + } + ], + "id": 26, + "name": "VariableDeclaration", + "src": "635:10:0" + } + ], + "id": 27, + "name": "ParameterList", + "src": "608:38:0" + } + ], + "id": 28, + "name": "EventDefinition", + "src": "584:63:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokensFlushed" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 29, + "name": "ElementaryTypeName", + "src": "676:7:0" + } + ], + "id": 30, + "name": "VariableDeclaration", + "src": "676:28:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 31, + "name": "ElementaryTypeName", + "src": "747:4:0" + } + ], + "id": 32, + "name": "VariableDeclaration", + "src": "747:10:0" + } + ], + "id": 33, + "name": "ParameterList", + "src": "670:115:0" + } + ], + "id": 34, + "name": "EventDefinition", + "src": "651:135:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Forwarder", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 35, + "name": "ParameterList", + "src": "901:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 36, + "name": "ParameterList", + "src": "904:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 37, + "name": "Identifier", + "src": "910:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 38, + "name": "Identifier", + "src": "926:3:0" + } + ], + "id": 39, + "name": "MemberAccess", + "src": "926:10:0" + } + ], + "id": 40, + "name": "Assignment", + "src": "910:26:0" + } + ], + "id": 41, + "name": "ExpressionStatement", + "src": "910:26:0" + } + ], + "id": 42, + "name": "Block", + "src": "904:37:0" + } + ], + "id": 43, + "name": "FunctionDefinition", + "src": "883:58:0" + }, + { + "attributes": { + "name": "onlyParent", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 44, + "name": "ParameterList", + "src": "1086:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 45, + "name": "Identifier", + "src": "1096:3:0" + } + ], + "id": 46, + "name": "MemberAccess", + "src": "1096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 47, + "name": "Identifier", + "src": "1110:13:0" + } + ], + "id": 48, + "name": "BinaryOperation", + "src": "1096:27:0" + }, + { + "children": [ + { + "children": [], + "id": 49, + "name": "Throw", + "src": "1133:5:0" + } + ], + "id": 50, + "name": "Block", + "src": "1125:20:0" + } + ], + "id": 51, + "name": "IfStatement", + "src": "1092:53:0" + }, + { + "id": 52, + "name": "PlaceholderStatement", + "src": "1150:1:0" + } + ], + "id": 53, + "name": "Block", + "src": "1086:70:0" + } + ], + "id": 54, + "name": "ModifierDefinition", + "src": "1066:90:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 139, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 55, + "name": "ParameterList", + "src": "1283:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 56, + "name": "ParameterList", + "src": "1294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 57, + "name": "Identifier", + "src": "1305:13:0" + } + ], + "id": 58, + "name": "MemberAccess", + "src": "1305:18:0" + } + ], + "id": 59, + "name": "MemberAccess", + "src": "1305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 60, + "name": "Identifier", + "src": "1330:3:0" + } + ], + "id": 61, + "name": "MemberAccess", + "src": "1330:9:0" + } + ], + "id": 62, + "name": "FunctionCall", + "src": "1305:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 63, + "name": "Identifier", + "src": "1341:3:0" + } + ], + "id": 64, + "name": "MemberAccess", + "src": "1341:8:0" + } + ], + "id": 65, + "name": "FunctionCall", + "src": "1305:45:0" + } + ], + "id": 66, + "name": "UnaryOperation", + "src": "1304:46:0" + }, + { + "children": [], + "id": 67, + "name": "Throw", + "src": "1358:5:0" + } + ], + "id": 68, + "name": "IfStatement", + "src": "1300:63:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 28, + "type": "function (address,uint256,bytes memory)", + "value": "ForwarderDeposited" + }, + "id": 69, + "name": "Identifier", + "src": "1428:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 70, + "name": "Identifier", + "src": "1447:3:0" + } + ], + "id": 71, + "name": "MemberAccess", + "src": "1447:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 72, + "name": "Identifier", + "src": "1459:3:0" + } + ], + "id": 73, + "name": "MemberAccess", + "src": "1459:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 74, + "name": "Identifier", + "src": "1470:3:0" + } + ], + "id": 75, + "name": "MemberAccess", + "src": "1470:8:0" + } + ], + "id": 76, + "name": "FunctionCall", + "src": "1428:51:0" + } + ], + "id": 77, + "name": "ExpressionStatement", + "src": "1428:51:0" + } + ], + "id": 78, + "name": "Block", + "src": "1294:190:0" + } + ], + "id": 79, + "name": "FunctionDefinition", + "src": "1275:209:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushTokens", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 80, + "name": "ElementaryTypeName", + "src": "1697:7:0" + } + ], + "id": 81, + "name": "VariableDeclaration", + "src": "1697:28:0" + } + ], + "id": 82, + "name": "ParameterList", + "src": "1696:30:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 85, + "name": "ParameterList", + "src": "1738:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 54, + "type": "modifier ()", + "value": "onlyParent" + }, + "id": 83, + "name": "Identifier", + "src": "1727:10:0" + } + ], + "id": 84, + "name": "ModifierInvocation", + "src": "1727:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 87 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 86, + "name": "UserDefinedTypeName", + "src": "1744:14:0" + } + ], + "id": 87, + "name": "VariableDeclaration", + "src": "1744:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 88, + "name": "Identifier", + "src": "1770:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 89, + "name": "Identifier", + "src": "1785:20:0" + } + ], + "id": 90, + "name": "FunctionCall", + "src": "1770:36:0" + } + ], + "id": 91, + "name": "VariableDeclarationStatement", + "src": "1744:62:0" + }, + { + "attributes": { + "assignments": [ + 92 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 92, + "name": "VariableDeclaration", + "src": "1812:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Forwarder_$139", + "typeString": "contract Forwarder" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 93, + "name": "ElementaryTypeNameExpression", + "src": "1835:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 94, + "name": "Identifier", + "src": "1843:4:0" + } + ], + "id": 95, + "name": "FunctionCall", + "src": "1835:13:0" + } + ], + "id": 96, + "name": "VariableDeclarationStatement", + "src": "1812:36:0" + }, + { + "attributes": { + "assignments": [ + 97 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderBalance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 97, + "name": "VariableDeclaration", + "src": "1854:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balanceOf", + "referencedDeclaration": 17, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 98, + "name": "Identifier", + "src": "1877:8:0" + } + ], + "id": 99, + "name": "MemberAccess", + "src": "1877:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 92, + "type": "address", + "value": "forwarderAddress" + }, + "id": 100, + "name": "Identifier", + "src": "1896:16:0" + } + ], + "id": 101, + "name": "FunctionCall", + "src": "1877:36:0" + } + ], + "id": 102, + "name": "VariableDeclarationStatement", + "src": "1854:59:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 103, + "name": "Identifier", + "src": "1923:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 104, + "name": "Literal", + "src": "1943:1:0" + } + ], + "id": 105, + "name": "BinaryOperation", + "src": "1923:21:0" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 85 + }, + "id": 106, + "name": "Return", + "src": "1954:7:0" + } + ], + "id": 107, + "name": "Block", + "src": "1946:21:0" + } + ], + "id": 108, + "name": "IfStatement", + "src": "1919:48:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 109, + "name": "Identifier", + "src": "1977:8:0" + } + ], + "id": 110, + "name": "MemberAccess", + "src": "1977:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 111, + "name": "Identifier", + "src": "1995:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 112, + "name": "Identifier", + "src": "2010:16:0" + } + ], + "id": 113, + "name": "FunctionCall", + "src": "1977:50:0" + } + ], + "id": 114, + "name": "UnaryOperation", + "src": "1976:51:0" + }, + { + "children": [ + { + "children": [], + "id": 115, + "name": "Throw", + "src": "2037:5:0" + } + ], + "id": 116, + "name": "Block", + "src": "2029:20:0" + } + ], + "id": 117, + "name": "IfStatement", + "src": "1972:77:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 34, + "type": "function (address,uint256)", + "value": "TokensFlushed" + }, + "id": 118, + "name": "Identifier", + "src": "2054:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 119, + "name": "Identifier", + "src": "2068:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 120, + "name": "Identifier", + "src": "2090:16:0" + } + ], + "id": 121, + "name": "FunctionCall", + "src": "2054:53:0" + } + ], + "id": 122, + "name": "ExpressionStatement", + "src": "2054:53:0" + } + ], + "id": 123, + "name": "Block", + "src": "1738:374:0" + } + ], + "id": 124, + "name": "FunctionDefinition", + "src": "1676:436:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "flush", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 125, + "name": "ParameterList", + "src": "2291:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 126, + "name": "ParameterList", + "src": "2294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 127, + "name": "Identifier", + "src": "2305:13:0" + } + ], + "id": 128, + "name": "MemberAccess", + "src": "2305:18:0" + } + ], + "id": 129, + "name": "MemberAccess", + "src": "2305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balance", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 130, + "name": "Identifier", + "src": "2330:4:0" + } + ], + "id": 131, + "name": "MemberAccess", + "src": "2330:12:0" + } + ], + "id": 132, + "name": "FunctionCall", + "src": "2305:38:0" + } + ], + "id": 133, + "name": "FunctionCall", + "src": "2305:40:0" + } + ], + "id": 134, + "name": "UnaryOperation", + "src": "2304:41:0" + }, + { + "children": [], + "id": 135, + "name": "Throw", + "src": "2353:5:0" + } + ], + "id": 136, + "name": "IfStatement", + "src": "2300:58:0" + } + ], + "id": 137, + "name": "Block", + "src": "2294:69:0" + } + ], + "id": 138, + "name": "FunctionDefinition", + "src": "2277:86:0" + } + ], + "id": 139, + "name": "ContractDefinition", + "src": "457:1908:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + 139 + ], + "contractKind": "contract", + "documentation": "Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\nTypically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 654 + ], + "name": "WalletSimple", + "scope": 655 + }, + "children": [ + { + "attributes": { + "anonymous": false, + "name": "Deposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 140, + "name": "ElementaryTypeName", + "src": "2669:7:0" + } + ], + "id": 141, + "name": "VariableDeclaration", + "src": "2669:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 142, + "name": "ElementaryTypeName", + "src": "2683:4:0" + } + ], + "id": 143, + "name": "VariableDeclaration", + "src": "2683:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 144, + "name": "ElementaryTypeName", + "src": "2695:5:0" + } + ], + "id": 145, + "name": "VariableDeclaration", + "src": "2695:10:0" + } + ], + "id": 146, + "name": "ParameterList", + "src": "2668:38:0" + } + ], + "id": 147, + "name": "EventDefinition", + "src": "2653:54:0" + }, + { + "attributes": { + "anonymous": false, + "name": "SafeModeActivated" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 151, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 148, + "name": "ElementaryTypeName", + "src": "2734:7:0" + } + ], + "id": 149, + "name": "VariableDeclaration", + "src": "2734:17:0" + } + ], + "id": 150, + "name": "ParameterList", + "src": "2733:19:0" + } + ], + "id": 151, + "name": "EventDefinition", + "src": "2710:43:0" + }, + { + "attributes": { + "anonymous": false, + "name": "Transacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 152, + "name": "ElementaryTypeName", + "src": "2778:7:0" + } + ], + "id": 153, + "name": "VariableDeclaration", + "src": "2778:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 154, + "name": "ElementaryTypeName", + "src": "2868:7:0" + } + ], + "id": 155, + "name": "VariableDeclaration", + "src": "2868:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 156, + "name": "ElementaryTypeName", + "src": "2970:7:0" + } + ], + "id": 157, + "name": "VariableDeclaration", + "src": "2970:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 158, + "name": "ElementaryTypeName", + "src": "3068:7:0" + } + ], + "id": 159, + "name": "VariableDeclaration", + "src": "3068:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 160, + "name": "ElementaryTypeName", + "src": "3134:4:0" + } + ], + "id": 161, + "name": "VariableDeclaration", + "src": "3134:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 162, + "name": "ElementaryTypeName", + "src": "3187:5:0" + } + ], + "id": 163, + "name": "VariableDeclaration", + "src": "3187:10:0" + } + ], + "id": 164, + "name": "ParameterList", + "src": "2772:472:0" + } + ], + "id": 165, + "name": "EventDefinition", + "src": "2756:489:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokenTransacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 166, + "name": "ElementaryTypeName", + "src": "3275:7:0" + } + ], + "id": 167, + "name": "VariableDeclaration", + "src": "3275:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 168, + "name": "ElementaryTypeName", + "src": "3365:7:0" + } + ], + "id": 169, + "name": "VariableDeclaration", + "src": "3365:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 170, + "name": "ElementaryTypeName", + "src": "3467:7:0" + } + ], + "id": 171, + "name": "VariableDeclaration", + "src": "3467:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 172, + "name": "ElementaryTypeName", + "src": "3581:7:0" + } + ], + "id": 173, + "name": "VariableDeclaration", + "src": "3581:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 174, + "name": "ElementaryTypeName", + "src": "3647:4:0" + } + ], + "id": 175, + "name": "VariableDeclaration", + "src": "3647:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 176, + "name": "ElementaryTypeName", + "src": "3687:7:0" + } + ], + "id": 177, + "name": "VariableDeclaration", + "src": "3687:28:0" + } + ], + "id": 178, + "name": "ParameterList", + "src": "3269:487:0" + } + ], + "id": 179, + "name": "EventDefinition", + "src": "3248:509:0" + }, + { + "attributes": { + "constant": false, + "name": "signers", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "address[] storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 180, + "name": "ElementaryTypeName", + "src": "3780:7:0" + } + ], + "id": 181, + "name": "ArrayTypeName", + "src": "3780:9:0" + } + ], + "id": 182, + "name": "VariableDeclaration", + "src": "3780:24:0" + }, + { + "attributes": { + "constant": false, + "name": "safeMode", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 183, + "name": "ElementaryTypeName", + "src": "3869:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 184, + "name": "Literal", + "src": "3892:5:0" + } + ], + "id": 185, + "name": "VariableDeclaration", + "src": "3869:28:0" + }, + { + "attributes": { + "constant": true, + "name": "SEQUENCE_ID_WINDOW_SIZE", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 186, + "name": "ElementaryTypeName", + "src": "3980:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 187, + "name": "Literal", + "src": "4020:2:0" + } + ], + "id": 188, + "name": "VariableDeclaration", + "src": "3980:42:0" + }, + { + "attributes": { + "constant": false, + "name": "recentSequenceIds", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256[10] storage ref", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[10] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 189, + "name": "ElementaryTypeName", + "src": "4026:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 190, + "name": "Literal", + "src": "4031:2:0" + } + ], + "id": 191, + "name": "ArrayTypeName", + "src": "4026:8:0" + } + ], + "id": 192, + "name": "VariableDeclaration", + "src": "4026:26:0" + }, + { + "attributes": { + "name": "onlysigner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 193, + "name": "ParameterList", + "src": "4199:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 194, + "name": "Identifier", + "src": "4210:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 195, + "name": "Identifier", + "src": "4219:3:0" + } + ], + "id": 196, + "name": "MemberAccess", + "src": "4219:10:0" + } + ], + "id": 197, + "name": "FunctionCall", + "src": "4210:20:0" + } + ], + "id": 198, + "name": "UnaryOperation", + "src": "4209:21:0" + }, + { + "children": [ + { + "children": [], + "id": 199, + "name": "Throw", + "src": "4240:5:0" + } + ], + "id": 200, + "name": "Block", + "src": "4232:20:0" + } + ], + "id": 201, + "name": "IfStatement", + "src": "4205:47:0" + }, + { + "id": 202, + "name": "PlaceholderStatement", + "src": "4257:1:0" + } + ], + "id": 203, + "name": "Block", + "src": "4199:64:0" + } + ], + "id": 204, + "name": "ModifierDefinition", + "src": "4179:84:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "WalletSimple", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "allowedSigners", + "scope": 222, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 205, + "name": "ElementaryTypeName", + "src": "4660:7:0" + } + ], + "id": 206, + "name": "ArrayTypeName", + "src": "4660:9:0" + } + ], + "id": 207, + "name": "VariableDeclaration", + "src": "4660:24:0" + } + ], + "id": 208, + "name": "ParameterList", + "src": "4659:26:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 209, + "name": "ParameterList", + "src": "4686:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 210, + "name": "Identifier", + "src": "4696:14:0" + } + ], + "id": 211, + "name": "MemberAccess", + "src": "4696:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 212, + "name": "Literal", + "src": "4721:1:0" + } + ], + "id": 213, + "name": "BinaryOperation", + "src": "4696:26:0" + }, + { + "children": [ + { + "children": [], + "id": 214, + "name": "Throw", + "src": "4767:5:0" + } + ], + "id": 215, + "name": "Block", + "src": "4724:55:0" + } + ], + "id": 216, + "name": "IfStatement", + "src": "4692:87:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 217, + "name": "Identifier", + "src": "4784:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 218, + "name": "Identifier", + "src": "4794:14:0" + } + ], + "id": 219, + "name": "Assignment", + "src": "4784:24:0" + } + ], + "id": 220, + "name": "ExpressionStatement", + "src": "4784:24:0" + } + ], + "id": 221, + "name": "Block", + "src": "4686:127:0" + } + ], + "id": 222, + "name": "FunctionDefinition", + "src": "4638:175:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 654, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 223, + "name": "ParameterList", + "src": "4910:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 224, + "name": "ParameterList", + "src": "4921:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 225, + "name": "Identifier", + "src": "4931:3:0" + } + ], + "id": 226, + "name": "MemberAccess", + "src": "4931:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 227, + "name": "Literal", + "src": "4943:1:0" + } + ], + "id": 228, + "name": "BinaryOperation", + "src": "4931:13:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "function (address,uint256,bytes memory)", + "value": "Deposited" + }, + "id": 229, + "name": "Identifier", + "src": "5010:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 230, + "name": "Identifier", + "src": "5020:3:0" + } + ], + "id": 231, + "name": "MemberAccess", + "src": "5020:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 232, + "name": "Identifier", + "src": "5032:3:0" + } + ], + "id": 233, + "name": "MemberAccess", + "src": "5032:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 234, + "name": "Identifier", + "src": "5043:3:0" + } + ], + "id": 235, + "name": "MemberAccess", + "src": "5043:8:0" + } + ], + "id": 236, + "name": "FunctionCall", + "src": "5010:42:0" + } + ], + "id": 237, + "name": "ExpressionStatement", + "src": "5010:42:0" + } + ], + "id": 238, + "name": "Block", + "src": "4946:113:0" + } + ], + "id": 239, + "name": "IfStatement", + "src": "4927:132:0" + } + ], + "id": 240, + "name": "Block", + "src": "4921:142:0" + } + ], + "id": 241, + "name": "FunctionDefinition", + "src": "4902:161:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "createForwarder", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 242, + "name": "ParameterList", + "src": "5242:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 253, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 245, + "name": "ElementaryTypeName", + "src": "5265:7:0" + } + ], + "id": 246, + "name": "VariableDeclaration", + "src": "5265:7:0" + } + ], + "id": 247, + "name": "ParameterList", + "src": "5264:9:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 243, + "name": "Identifier", + "src": "5245:10:0" + } + ], + "id": 244, + "name": "ModifierInvocation", + "src": "5245:10:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 247 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function () returns (contract Forwarder)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 248, + "name": "UserDefinedTypeName", + "src": "5291:9:0" + } + ], + "id": 249, + "name": "NewExpression", + "src": "5287:13:0" + } + ], + "id": 250, + "name": "FunctionCall", + "src": "5287:15:0" + } + ], + "id": 251, + "name": "Return", + "src": "5280:22:0" + } + ], + "id": 252, + "name": "Block", + "src": "5274:33:0" + } + ], + "id": 253, + "name": "FunctionDefinition", + "src": "5218:89:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 254, + "name": "ElementaryTypeName", + "src": "6207:7:0" + } + ], + "id": 255, + "name": "VariableDeclaration", + "src": "6207:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 256, + "name": "ElementaryTypeName", + "src": "6226:4:0" + } + ], + "id": 257, + "name": "VariableDeclaration", + "src": "6226:10:0" + }, + { + "attributes": { + "constant": false, + "name": "data", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 258, + "name": "ElementaryTypeName", + "src": "6238:5:0" + } + ], + "id": 259, + "name": "VariableDeclaration", + "src": "6238:10:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 260, + "name": "ElementaryTypeName", + "src": "6250:4:0" + } + ], + "id": 261, + "name": "VariableDeclaration", + "src": "6250:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 262, + "name": "ElementaryTypeName", + "src": "6267:4:0" + } + ], + "id": 263, + "name": "VariableDeclaration", + "src": "6267:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 264, + "name": "ElementaryTypeName", + "src": "6284:5:0" + } + ], + "id": 265, + "name": "VariableDeclaration", + "src": "6284:15:0" + } + ], + "id": 266, + "name": "ParameterList", + "src": "6206:94:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 269, + "name": "ParameterList", + "src": "6312:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 267, + "name": "Identifier", + "src": "6301:10:0" + } + ], + "id": 268, + "name": "ModifierInvocation", + "src": "6301:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 270 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 270, + "name": "VariableDeclaration", + "src": "6349:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_10516e70ec8c5048d00c1cd49852831bc8997d009e9f6718ca31f63fc81f1f25", + "typeString": "literal_string \"ETHER\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 271, + "name": "Identifier", + "src": "6369:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4554484552", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ETHER\"", + "value": "ETHER" + }, + "id": 272, + "name": "Literal", + "src": "6374:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 273, + "name": "Identifier", + "src": "6383:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 274, + "name": "Identifier", + "src": "6394:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 275, + "name": "Identifier", + "src": "6401:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 276, + "name": "Identifier", + "src": "6407:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 277, + "name": "Identifier", + "src": "6419:10:0" + } + ], + "id": 278, + "name": "FunctionCall", + "src": "6369:61:0" + } + ], + "id": 279, + "name": "VariableDeclarationStatement", + "src": "6349:81:0" + }, + { + "attributes": { + "assignments": [ + 280 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 280, + "name": "VariableDeclaration", + "src": "6441:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 281, + "name": "Identifier", + "src": "6459:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 282, + "name": "Identifier", + "src": "6474:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 283, + "name": "Identifier", + "src": "6485:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 265, + "type": "bytes memory", + "value": "signature" + }, + "id": 284, + "name": "Identifier", + "src": "6500:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 285, + "name": "Identifier", + "src": "6511:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 286, + "name": "Identifier", + "src": "6523:10:0" + } + ], + "id": 287, + "name": "FunctionCall", + "src": "6459:75:0" + } + ], + "id": 288, + "name": "VariableDeclarationStatement", + "src": "6441:93:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 289, + "name": "Identifier", + "src": "6584:9:0" + } + ], + "id": 290, + "name": "MemberAccess", + "src": "6584:14:0" + } + ], + "id": 291, + "name": "MemberAccess", + "src": "6584:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 292, + "name": "Identifier", + "src": "6605:5:0" + } + ], + "id": 293, + "name": "FunctionCall", + "src": "6584:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 294, + "name": "Identifier", + "src": "6612:4:0" + } + ], + "id": 295, + "name": "FunctionCall", + "src": "6584:33:0" + } + ], + "id": 296, + "name": "TupleExpression", + "src": "6583:35:0" + } + ], + "id": 297, + "name": "UnaryOperation", + "src": "6582:36:0" + }, + { + "children": [ + { + "children": [], + "id": 298, + "name": "Throw", + "src": "6666:5:0" + } + ], + "id": 299, + "name": "Block", + "src": "6620:58:0" + } + ], + "id": 300, + "name": "IfStatement", + "src": "6578:100:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "function (address,address,bytes32,address,uint256,bytes memory)", + "value": "Transacted" + }, + "id": 301, + "name": "Identifier", + "src": "6683:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 302, + "name": "Identifier", + "src": "6694:3:0" + } + ], + "id": 303, + "name": "MemberAccess", + "src": "6694:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 280, + "type": "address", + "value": "otherSigner" + }, + "id": 304, + "name": "Identifier", + "src": "6706:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 305, + "name": "Identifier", + "src": "6719:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 306, + "name": "Identifier", + "src": "6734:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 307, + "name": "Identifier", + "src": "6745:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 308, + "name": "Identifier", + "src": "6752:4:0" + } + ], + "id": 309, + "name": "FunctionCall", + "src": "6683:74:0" + } + ], + "id": 310, + "name": "ExpressionStatement", + "src": "6683:74:0" + } + ], + "id": 311, + "name": "Block", + "src": "6312:450:0" + } + ], + "id": 312, + "name": "FunctionDefinition", + "src": "6185:577:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSigToken", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 313, + "name": "ElementaryTypeName", + "src": "7699:7:0" + } + ], + "id": 314, + "name": "VariableDeclaration", + "src": "7699:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 315, + "name": "ElementaryTypeName", + "src": "7718:4:0" + } + ], + "id": 316, + "name": "VariableDeclaration", + "src": "7718:10:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 317, + "name": "ElementaryTypeName", + "src": "7730:7:0" + } + ], + "id": 318, + "name": "VariableDeclaration", + "src": "7730:28:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 319, + "name": "ElementaryTypeName", + "src": "7760:4:0" + } + ], + "id": 320, + "name": "VariableDeclaration", + "src": "7760:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 321, + "name": "ElementaryTypeName", + "src": "7777:4:0" + } + ], + "id": 322, + "name": "VariableDeclaration", + "src": "7777:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 323, + "name": "ElementaryTypeName", + "src": "7794:5:0" + } + ], + "id": 324, + "name": "VariableDeclaration", + "src": "7794:15:0" + } + ], + "id": 325, + "name": "ParameterList", + "src": "7698:112:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 328, + "name": "ParameterList", + "src": "7822:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 326, + "name": "Identifier", + "src": "7811:10:0" + } + ], + "id": 327, + "name": "ModifierInvocation", + "src": "7811:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 329 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 329, + "name": "VariableDeclaration", + "src": "7859:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ae85d849167ff996c04040c44924fd364217285e4cad818292c7ac37c0a345b", + "typeString": "literal_string \"ERC20\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 330, + "name": "Identifier", + "src": "7879:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4552433230", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ERC20\"", + "value": "ERC20" + }, + "id": 331, + "name": "Literal", + "src": "7884:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 332, + "name": "Identifier", + "src": "7893:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 333, + "name": "Identifier", + "src": "7904:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 334, + "name": "Identifier", + "src": "7911:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 335, + "name": "Identifier", + "src": "7933:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 336, + "name": "Identifier", + "src": "7945:10:0" + } + ], + "id": 337, + "name": "FunctionCall", + "src": "7879:77:0" + } + ], + "id": 338, + "name": "VariableDeclarationStatement", + "src": "7859:97:0" + }, + { + "attributes": { + "assignments": [ + 339 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 339, + "name": "VariableDeclaration", + "src": "7967:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 340, + "name": "Identifier", + "src": "7985:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 341, + "name": "Identifier", + "src": "8000:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 342, + "name": "Identifier", + "src": "8011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 324, + "type": "bytes memory", + "value": "signature" + }, + "id": 343, + "name": "Identifier", + "src": "8026:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 344, + "name": "Identifier", + "src": "8037:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 345, + "name": "Identifier", + "src": "8049:10:0" + } + ], + "id": 346, + "name": "FunctionCall", + "src": "7985:75:0" + } + ], + "id": 347, + "name": "VariableDeclarationStatement", + "src": "7967:93:0" + }, + { + "attributes": { + "assignments": [ + 349 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 348, + "name": "UserDefinedTypeName", + "src": "8071:14:0" + } + ], + "id": 349, + "name": "VariableDeclaration", + "src": "8071:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 350, + "name": "Identifier", + "src": "8097:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 351, + "name": "Identifier", + "src": "8112:20:0" + } + ], + "id": 352, + "name": "FunctionCall", + "src": "8097:36:0" + } + ], + "id": 353, + "name": "VariableDeclarationStatement", + "src": "8071:62:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 349, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 354, + "name": "Identifier", + "src": "8144:8:0" + } + ], + "id": 355, + "name": "MemberAccess", + "src": "8144:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 356, + "name": "Identifier", + "src": "8162:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 357, + "name": "Identifier", + "src": "8173:5:0" + } + ], + "id": 358, + "name": "FunctionCall", + "src": "8144:35:0" + } + ], + "id": 359, + "name": "UnaryOperation", + "src": "8143:36:0" + }, + { + "children": [ + { + "children": [], + "id": 360, + "name": "Throw", + "src": "8191:5:0" + } + ], + "id": 361, + "name": "Block", + "src": "8181:22:0" + } + ], + "id": 362, + "name": "IfStatement", + "src": "8139:64:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 179, + "type": "function (address,address,bytes32,address,uint256,address)", + "value": "TokenTransacted" + }, + "id": 363, + "name": "Identifier", + "src": "8208:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 364, + "name": "Identifier", + "src": "8224:3:0" + } + ], + "id": 365, + "name": "MemberAccess", + "src": "8224:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 339, + "type": "address", + "value": "otherSigner" + }, + "id": 366, + "name": "Identifier", + "src": "8236:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 367, + "name": "Identifier", + "src": "8249:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 368, + "name": "Identifier", + "src": "8264:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 369, + "name": "Identifier", + "src": "8275:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 370, + "name": "Identifier", + "src": "8282:20:0" + } + ], + "id": 371, + "name": "FunctionCall", + "src": "8208:95:0" + } + ], + "id": 372, + "name": "ExpressionStatement", + "src": "8208:95:0" + } + ], + "id": 373, + "name": "Block", + "src": "7822:486:0" + } + ], + "id": 374, + "name": "FunctionDefinition", + "src": "7672:636:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushForwarderTokens", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 375, + "name": "ElementaryTypeName", + "src": "8661:7:0" + } + ], + "id": 376, + "name": "VariableDeclaration", + "src": "8661:24:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 377, + "name": "ElementaryTypeName", + "src": "8687:7:0" + } + ], + "id": 378, + "name": "VariableDeclaration", + "src": "8687:28:0" + } + ], + "id": 379, + "name": "ParameterList", + "src": "8660:56:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 382, + "name": "ParameterList", + "src": "8728:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 380, + "name": "Identifier", + "src": "8717:10:0" + } + ], + "id": 381, + "name": "ModifierInvocation", + "src": "8717:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 384 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarder", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Forwarder", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 383, + "name": "UserDefinedTypeName", + "src": "8738:9:0" + } + ], + "id": 384, + "name": "VariableDeclaration", + "src": "8738:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 139, + "type": "type(contract Forwarder)", + "value": "Forwarder" + }, + "id": 385, + "name": "Identifier", + "src": "8760:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 376, + "type": "address", + "value": "forwarderAddress" + }, + "id": 386, + "name": "Identifier", + "src": "8770:16:0" + } + ], + "id": 387, + "name": "FunctionCall", + "src": "8760:27:0" + } + ], + "id": 388, + "name": "VariableDeclarationStatement", + "src": "8738:49:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "flushTokens", + "referencedDeclaration": 124, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 384, + "type": "contract Forwarder", + "value": "forwarder" + }, + "id": 389, + "name": "Identifier", + "src": "8793:9:0" + } + ], + "id": 391, + "name": "MemberAccess", + "src": "8793:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 378, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 392, + "name": "Identifier", + "src": "8815:20:0" + } + ], + "id": 393, + "name": "FunctionCall", + "src": "8793:43:0" + } + ], + "id": 394, + "name": "ExpressionStatement", + "src": "8793:43:0" + } + ], + "id": 395, + "name": "Block", + "src": "8728:113:0" + } + ], + "id": 396, + "name": "FunctionDefinition", + "src": "8631:210:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "verifyMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 397, + "name": "ElementaryTypeName", + "src": "9496:7:0" + } + ], + "id": 398, + "name": "VariableDeclaration", + "src": "9496:17:0" + }, + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 399, + "name": "ElementaryTypeName", + "src": "9515:7:0" + } + ], + "id": 400, + "name": "VariableDeclaration", + "src": "9515:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 401, + "name": "ElementaryTypeName", + "src": "9538:5:0" + } + ], + "id": 402, + "name": "VariableDeclaration", + "src": "9538:15:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 403, + "name": "ElementaryTypeName", + "src": "9555:4:0" + } + ], + "id": 404, + "name": "VariableDeclaration", + "src": "9555:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 405, + "name": "ElementaryTypeName", + "src": "9572:4:0" + } + ], + "id": 406, + "name": "VariableDeclaration", + "src": "9572:15:0" + } + ], + "id": 407, + "name": "ParameterList", + "src": "9495:93:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 408, + "name": "ElementaryTypeName", + "src": "9606:7:0" + } + ], + "id": 409, + "name": "VariableDeclaration", + "src": "9606:7:0" + } + ], + "id": 410, + "name": "ParameterList", + "src": "9605:9:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 411 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 411, + "name": "VariableDeclaration", + "src": "9622:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 544, + "type": "function (bytes32,bytes memory) returns (address)", + "value": "recoverAddressFromSignature" + }, + "id": 412, + "name": "Identifier", + "src": "9640:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 400, + "type": "bytes32", + "value": "operationHash" + }, + "id": 413, + "name": "Identifier", + "src": "9668:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 402, + "type": "bytes memory", + "value": "signature" + }, + "id": 414, + "name": "Identifier", + "src": "9683:9:0" + } + ], + "id": 415, + "name": "FunctionCall", + "src": "9640:53:0" + } + ], + "id": 416, + "name": "VariableDeclarationStatement", + "src": "9622:71:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 417, + "name": "Identifier", + "src": "9792:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 418, + "name": "Identifier", + "src": "9805:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 398, + "type": "address", + "value": "toAddress" + }, + "id": 419, + "name": "Identifier", + "src": "9814:9:0" + } + ], + "id": 420, + "name": "FunctionCall", + "src": "9805:19:0" + } + ], + "id": 421, + "name": "UnaryOperation", + "src": "9804:20:0" + } + ], + "id": 422, + "name": "BinaryOperation", + "src": "9792:32:0" + }, + { + "children": [ + { + "children": [], + "id": 423, + "name": "Throw", + "src": "9908:5:0" + } + ], + "id": 424, + "name": "Block", + "src": "9826:94:0" + } + ], + "id": 425, + "name": "IfStatement", + "src": "9788:132:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 404, + "type": "uint256", + "value": "expireTime" + }, + "id": 426, + "name": "Identifier", + "src": "9980:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "timestamp", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 658, + "type": "block", + "value": "block" + }, + "id": 427, + "name": "Identifier", + "src": "9993:5:0" + } + ], + "id": 428, + "name": "MemberAccess", + "src": "9993:15:0" + } + ], + "id": 429, + "name": "BinaryOperation", + "src": "9980:28:0" + }, + { + "children": [ + { + "children": [], + "id": 430, + "name": "Throw", + "src": "10047:5:0" + } + ], + "id": 431, + "name": "Block", + "src": "10010:49:0" + } + ], + "id": 432, + "name": "IfStatement", + "src": "9976:83:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 614, + "type": "function (uint256)", + "value": "tryInsertSequenceId" + }, + "id": 433, + "name": "Identifier", + "src": "10145:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 406, + "type": "uint256", + "value": "sequenceId" + }, + "id": 434, + "name": "Identifier", + "src": "10165:10:0" + } + ], + "id": 435, + "name": "FunctionCall", + "src": "10145:31:0" + } + ], + "id": 436, + "name": "ExpressionStatement", + "src": "10145:31:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 437, + "name": "Identifier", + "src": "10188:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 438, + "name": "Identifier", + "src": "10197:11:0" + } + ], + "id": 439, + "name": "FunctionCall", + "src": "10188:21:0" + } + ], + "id": 440, + "name": "UnaryOperation", + "src": "10187:22:0" + }, + { + "children": [ + { + "children": [], + "id": 441, + "name": "Throw", + "src": "10298:5:0" + } + ], + "id": 442, + "name": "Block", + "src": "10211:99:0" + } + ], + "id": 443, + "name": "IfStatement", + "src": "10183:127:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 444, + "name": "Identifier", + "src": "10319:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 445, + "name": "Identifier", + "src": "10334:3:0" + } + ], + "id": 446, + "name": "MemberAccess", + "src": "10334:10:0" + } + ], + "id": 447, + "name": "BinaryOperation", + "src": "10319:25:0" + }, + { + "children": [ + { + "children": [], + "id": 448, + "name": "Throw", + "src": "10394:5:0" + } + ], + "id": 449, + "name": "Block", + "src": "10346:60:0" + } + ], + "id": 450, + "name": "IfStatement", + "src": "10315:91:0" + }, + { + "attributes": { + "functionReturnParameters": 410 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 451, + "name": "Identifier", + "src": "10419:11:0" + } + ], + "id": 452, + "name": "Return", + "src": "10412:18:0" + } + ], + "id": 453, + "name": "Block", + "src": "9615:820:0" + } + ], + "id": 454, + "name": "FunctionDefinition", + "src": "9472:963:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "activateSafeMode", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 455, + "name": "ParameterList", + "src": "10594:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 458, + "name": "ParameterList", + "src": "10608:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 456, + "name": "Identifier", + "src": "10597:10:0" + } + ], + "id": 457, + "name": "ModifierInvocation", + "src": "10597:10:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 459, + "name": "Identifier", + "src": "10614:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 460, + "name": "Literal", + "src": "10625:4:0" + } + ], + "id": 461, + "name": "Assignment", + "src": "10614:15:0" + } + ], + "id": 462, + "name": "ExpressionStatement", + "src": "10614:15:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 151, + "type": "function (address)", + "value": "SafeModeActivated" + }, + "id": 463, + "name": "Identifier", + "src": "10635:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 464, + "name": "Identifier", + "src": "10653:3:0" + } + ], + "id": 465, + "name": "MemberAccess", + "src": "10653:10:0" + } + ], + "id": 466, + "name": "FunctionCall", + "src": "10635:29:0" + } + ], + "id": 467, + "name": "ExpressionStatement", + "src": "10635:29:0" + } + ], + "id": 468, + "name": "Block", + "src": "10608:61:0" + } + ], + "id": 469, + "name": "FunctionDefinition", + "src": "10569:100:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isSigner", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "signer", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 470, + "name": "ElementaryTypeName", + "src": "10860:7:0" + } + ], + "id": 471, + "name": "VariableDeclaration", + "src": "10860:14:0" + } + ], + "id": 472, + "name": "ParameterList", + "src": "10859:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 473, + "name": "ElementaryTypeName", + "src": "10885:4:0" + } + ], + "id": 474, + "name": "VariableDeclaration", + "src": "10885:4:0" + } + ], + "id": 475, + "name": "ParameterList", + "src": "10884:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 477 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 476, + "name": "ElementaryTypeName", + "src": "10955:4:0" + } + ], + "id": 477, + "name": "VariableDeclaration", + "src": "10955:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 478, + "name": "Literal", + "src": "10964:1:0" + } + ], + "id": 479, + "name": "VariableDeclarationStatement", + "src": "10955:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 480, + "name": "Identifier", + "src": "10967:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 481, + "name": "Identifier", + "src": "10971:7:0" + } + ], + "id": 482, + "name": "MemberAccess", + "src": "10971:14:0" + } + ], + "id": 483, + "name": "BinaryOperation", + "src": "10967:18:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 484, + "name": "Identifier", + "src": "10987:1:0" + } + ], + "id": 485, + "name": "UnaryOperation", + "src": "10987:3:0" + } + ], + "id": 486, + "name": "ExpressionStatement", + "src": "10987:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 487, + "name": "Identifier", + "src": "11004:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 488, + "name": "Identifier", + "src": "11012:1:0" + } + ], + "id": 489, + "name": "IndexAccess", + "src": "11004:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 471, + "type": "address", + "value": "signer" + }, + "id": 490, + "name": "Identifier", + "src": "11018:6:0" + } + ], + "id": 491, + "name": "BinaryOperation", + "src": "11004:20:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 492, + "name": "Literal", + "src": "11043:4:0" + } + ], + "id": 493, + "name": "Return", + "src": "11036:11:0" + } + ], + "id": 494, + "name": "Block", + "src": "11026:30:0" + } + ], + "id": 495, + "name": "IfStatement", + "src": "11000:56:0" + } + ], + "id": 496, + "name": "Block", + "src": "10992:70:0" + } + ], + "id": 497, + "name": "ForStatement", + "src": "10950:112:0" + }, + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 498, + "name": "Literal", + "src": "11074:5:0" + } + ], + "id": 499, + "name": "Return", + "src": "11067:12:0" + } + ], + "id": 500, + "name": "Block", + "src": "10891:193:0" + } + ], + "id": 501, + "name": "FunctionDefinition", + "src": "10842:242:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "recoverAddressFromSignature", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 502, + "name": "ElementaryTypeName", + "src": "11455:7:0" + } + ], + "id": 503, + "name": "VariableDeclaration", + "src": "11455:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 504, + "name": "ElementaryTypeName", + "src": "11478:5:0" + } + ], + "id": 505, + "name": "VariableDeclaration", + "src": "11478:15:0" + } + ], + "id": 506, + "name": "ParameterList", + "src": "11454:40:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 507, + "name": "ElementaryTypeName", + "src": "11512:7:0" + } + ], + "id": 508, + "name": "VariableDeclaration", + "src": "11512:7:0" + } + ], + "id": 509, + "name": "ParameterList", + "src": "11511:9:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 505, + "type": "bytes memory", + "value": "signature" + }, + "id": 510, + "name": "Identifier", + "src": "11531:9:0" + } + ], + "id": 511, + "name": "MemberAccess", + "src": "11531:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3635", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 65", + "value": "65" + }, + "id": 512, + "name": "Literal", + "src": "11551:2:0" + } + ], + "id": 513, + "name": "BinaryOperation", + "src": "11531:22:0" + }, + { + "children": [ + { + "children": [], + "id": 514, + "name": "Throw", + "src": "11563:5:0" + } + ], + "id": 515, + "name": "Block", + "src": "11555:20:0" + } + ], + "id": 516, + "name": "IfStatement", + "src": "11527:48:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "r", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 517, + "name": "ElementaryTypeName", + "src": "11675:7:0" + } + ], + "id": 518, + "name": "VariableDeclaration", + "src": "11675:9:0" + } + ], + "id": 519, + "name": "VariableDeclarationStatement", + "src": "11675:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "s", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 520, + "name": "ElementaryTypeName", + "src": "11690:7:0" + } + ], + "id": 521, + "name": "VariableDeclaration", + "src": "11690:9:0" + } + ], + "id": 522, + "name": "VariableDeclarationStatement", + "src": "11690:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "v", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "uint8", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" + }, + "id": 523, + "name": "ElementaryTypeName", + "src": "11705:5:0" + } + ], + "id": 524, + "name": "VariableDeclaration", + "src": "11705:7:0" + } + ], + "id": 525, + "name": "VariableDeclarationStatement", + "src": "11705:7:0" + }, + { + "attributes": { + "externalReferences": [ + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11750:9:0", + "valueSize": 1 + } + }, + { + "r": { + "declaration": 518, + "isOffset": false, + "isSlot": false, + "src": "11735:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11787:9:0", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 521, + "isOffset": false, + "isSlot": false, + "src": "11772:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11828:9:0", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 524, + "isOffset": false, + "isSlot": false, + "src": "11809:1:0", + "valueSize": 1 + } + } + ], + "operations": "{\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n}" + }, + "children": [], + "id": 526, + "name": "InlineAssembly", + "src": "11718:144:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 527, + "name": "Identifier", + "src": "11864:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 528, + "name": "Literal", + "src": "11868:2:0" + } + ], + "id": 529, + "name": "BinaryOperation", + "src": "11864:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint8" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 530, + "name": "Identifier", + "src": "11880:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 531, + "name": "Literal", + "src": "11885:2:0" + } + ], + "id": 532, + "name": "Assignment", + "src": "11880:7:0" + } + ], + "id": 533, + "name": "ExpressionStatement", + "src": "11880:7:0" + } + ], + "id": 534, + "name": "Block", + "src": "11872:117:0" + } + ], + "id": 535, + "name": "IfStatement", + "src": "11860:129:0" + }, + { + "attributes": { + "functionReturnParameters": 509 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 659, + "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", + "value": "ecrecover" + }, + "id": 536, + "name": "Identifier", + "src": "12001:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 503, + "type": "bytes32", + "value": "operationHash" + }, + "id": 537, + "name": "Identifier", + "src": "12011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 538, + "name": "Identifier", + "src": "12026:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 518, + "type": "bytes32", + "value": "r" + }, + "id": 539, + "name": "Identifier", + "src": "12029:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 521, + "type": "bytes32", + "value": "s" + }, + "id": 540, + "name": "Identifier", + "src": "12032:1:0" + } + ], + "id": 541, + "name": "FunctionCall", + "src": "12001:33:0" + } + ], + "id": 542, + "name": "Return", + "src": "11994:40:0" + } + ], + "id": 543, + "name": "Block", + "src": "11521:518:0" + } + ], + "id": 544, + "name": "FunctionDefinition", + "src": "11418:621:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "tryInsertSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 545, + "name": "ElementaryTypeName", + "src": "12427:4:0" + } + ], + "id": 546, + "name": "VariableDeclaration", + "src": "12427:15:0" + } + ], + "id": 547, + "name": "ParameterList", + "src": "12426:17:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 550, + "name": "ParameterList", + "src": "12463:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 548, + "name": "Identifier", + "src": "12444:10:0" + } + ], + "id": 549, + "name": "ModifierInvocation", + "src": "12444:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 552 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "lowestValueIndex", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 551, + "name": "ElementaryTypeName", + "src": "12533:4:0" + } + ], + "id": 552, + "name": "VariableDeclaration", + "src": "12533:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 553, + "name": "Literal", + "src": "12557:1:0" + } + ], + "id": 554, + "name": "VariableDeclarationStatement", + "src": "12533:25:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 556 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 555, + "name": "ElementaryTypeName", + "src": "12569:4:0" + } + ], + "id": 556, + "name": "VariableDeclaration", + "src": "12569:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 557, + "name": "Literal", + "src": "12578:1:0" + } + ], + "id": 558, + "name": "VariableDeclarationStatement", + "src": "12569:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 559, + "name": "Identifier", + "src": "12581:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 560, + "name": "Identifier", + "src": "12585:23:0" + } + ], + "id": 561, + "name": "BinaryOperation", + "src": "12581:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 562, + "name": "Identifier", + "src": "12610:1:0" + } + ], + "id": 563, + "name": "UnaryOperation", + "src": "12610:3:0" + } + ], + "id": 564, + "name": "ExpressionStatement", + "src": "12610:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 565, + "name": "Identifier", + "src": "12627:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 566, + "name": "Identifier", + "src": "12645:1:0" + } + ], + "id": 567, + "name": "IndexAccess", + "src": "12627:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 568, + "name": "Identifier", + "src": "12651:10:0" + } + ], + "id": 569, + "name": "BinaryOperation", + "src": "12627:34:0" + }, + { + "children": [ + { + "children": [], + "id": 570, + "name": "Throw", + "src": "12733:5:0" + } + ], + "id": 571, + "name": "Block", + "src": "12663:84:0" + } + ], + "id": 572, + "name": "IfStatement", + "src": "12623:124:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 573, + "name": "Identifier", + "src": "12758:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 574, + "name": "Identifier", + "src": "12776:1:0" + } + ], + "id": 575, + "name": "IndexAccess", + "src": "12758:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 576, + "name": "Identifier", + "src": "12781:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 577, + "name": "Identifier", + "src": "12799:16:0" + } + ], + "id": 578, + "name": "IndexAccess", + "src": "12781:35:0" + } + ], + "id": 579, + "name": "BinaryOperation", + "src": "12758:58:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 580, + "name": "Identifier", + "src": "12828:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 581, + "name": "Identifier", + "src": "12847:1:0" + } + ], + "id": 582, + "name": "Assignment", + "src": "12828:20:0" + } + ], + "id": 583, + "name": "ExpressionStatement", + "src": "12828:20:0" + } + ], + "id": 584, + "name": "Block", + "src": "12818:39:0" + } + ], + "id": 585, + "name": "IfStatement", + "src": "12754:103:0" + } + ], + "id": 586, + "name": "Block", + "src": "12615:248:0" + } + ], + "id": 587, + "name": "ForStatement", + "src": "12564:299:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 588, + "name": "Identifier", + "src": "12872:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 589, + "name": "Identifier", + "src": "12885:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 590, + "name": "Identifier", + "src": "12903:16:0" + } + ], + "id": 591, + "name": "IndexAccess", + "src": "12885:35:0" + } + ], + "id": 592, + "name": "BinaryOperation", + "src": "12872:48:0" + }, + { + "children": [ + { + "children": [], + "id": 593, + "name": "Throw", + "src": "13075:5:0" + } + ], + "id": 594, + "name": "Block", + "src": "12922:165:0" + } + ], + "id": 595, + "name": "IfStatement", + "src": "12868:219:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 596, + "name": "Identifier", + "src": "13096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 597, + "name": "Identifier", + "src": "13110:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 598, + "name": "Identifier", + "src": "13128:16:0" + } + ], + "id": 599, + "name": "IndexAccess", + "src": "13110:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130303030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10000", + "value": "10000" + }, + "id": 600, + "name": "Literal", + "src": "13148:5:0" + } + ], + "id": 601, + "name": "BinaryOperation", + "src": "13110:43:0" + } + ], + "id": 602, + "name": "TupleExpression", + "src": "13109:45:0" + } + ], + "id": 603, + "name": "BinaryOperation", + "src": "13096:58:0" + }, + { + "children": [ + { + "children": [], + "id": 604, + "name": "Throw", + "src": "13329:5:0" + } + ], + "id": 605, + "name": "Block", + "src": "13156:185:0" + } + ], + "id": 606, + "name": "IfStatement", + "src": "13092:249:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 607, + "name": "Identifier", + "src": "13346:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 608, + "name": "Identifier", + "src": "13364:16:0" + } + ], + "id": 609, + "name": "IndexAccess", + "src": "13346:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 610, + "name": "Identifier", + "src": "13384:10:0" + } + ], + "id": 611, + "name": "Assignment", + "src": "13346:48:0" + } + ], + "id": 612, + "name": "ExpressionStatement", + "src": "13346:48:0" + } + ], + "id": 613, + "name": "Block", + "src": "12463:936:0" + } + ], + "id": 614, + "name": "FunctionDefinition", + "src": "12398:1001:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNextSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 615, + "name": "ParameterList", + "src": "13596:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 616, + "name": "ElementaryTypeName", + "src": "13608:4:0" + } + ], + "id": 617, + "name": "VariableDeclaration", + "src": "13608:4:0" + } + ], + "id": 618, + "name": "ParameterList", + "src": "13607:6:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 620 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "highestSequenceId", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 619, + "name": "ElementaryTypeName", + "src": "13620:4:0" + } + ], + "id": 620, + "name": "VariableDeclaration", + "src": "13620:22:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 621, + "name": "Literal", + "src": "13645:1:0" + } + ], + "id": 622, + "name": "VariableDeclarationStatement", + "src": "13620:26:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 624 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 623, + "name": "ElementaryTypeName", + "src": "13657:4:0" + } + ], + "id": 624, + "name": "VariableDeclaration", + "src": "13657:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 625, + "name": "Literal", + "src": "13666:1:0" + } + ], + "id": 626, + "name": "VariableDeclarationStatement", + "src": "13657:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 627, + "name": "Identifier", + "src": "13669:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 628, + "name": "Identifier", + "src": "13673:23:0" + } + ], + "id": 629, + "name": "BinaryOperation", + "src": "13669:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 630, + "name": "Identifier", + "src": "13698:1:0" + } + ], + "id": 631, + "name": "UnaryOperation", + "src": "13698:3:0" + } + ], + "id": 632, + "name": "ExpressionStatement", + "src": "13698:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 633, + "name": "Identifier", + "src": "13715:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 634, + "name": "Identifier", + "src": "13733:1:0" + } + ], + "id": 635, + "name": "IndexAccess", + "src": "13715:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 636, + "name": "Identifier", + "src": "13738:17:0" + } + ], + "id": 637, + "name": "BinaryOperation", + "src": "13715:40:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 638, + "name": "Identifier", + "src": "13767:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 639, + "name": "Identifier", + "src": "13787:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 640, + "name": "Identifier", + "src": "13805:1:0" + } + ], + "id": 641, + "name": "IndexAccess", + "src": "13787:20:0" + } + ], + "id": 642, + "name": "Assignment", + "src": "13767:40:0" + } + ], + "id": 643, + "name": "ExpressionStatement", + "src": "13767:40:0" + } + ], + "id": 644, + "name": "Block", + "src": "13757:59:0" + } + ], + "id": 645, + "name": "IfStatement", + "src": "13711:105:0" + } + ], + "id": 646, + "name": "Block", + "src": "13703:119:0" + } + ], + "id": 647, + "name": "ForStatement", + "src": "13652:170:0" + }, + { + "attributes": { + "functionReturnParameters": 618 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 648, + "name": "Identifier", + "src": "13834:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 649, + "name": "Literal", + "src": "13854:1:0" + } + ], + "id": 650, + "name": "BinaryOperation", + "src": "13834:21:0" + } + ], + "id": 651, + "name": "Return", + "src": "13827:28:0" + } + ], + "id": 652, + "name": "Block", + "src": "13614:246:0" + } + ], + "id": 653, + "name": "FunctionDefinition", + "src": "13570:290:0" + } + ], + "id": 654, + "name": "ContractDefinition", + "src": "2615:11247:0" + } + ], + "id": 655, + "name": "SourceUnit", + "src": "0:13862:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T05:15:19.153Z" +} \ No newline at end of file diff --git a/build/contracts/FinalizableCrowdsale.json b/build/contracts/FinalizableCrowdsale.json new file mode 100644 index 0000000..0832e11 --- /dev/null +++ b/build/contracts/FinalizableCrowdsale.json @@ -0,0 +1,904 @@ +{ + "contractName": "FinalizableCrowdsale", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "rate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "endTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weiRaised", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finalize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "wallet", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "startTime", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isFinalized", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "beneficiary", + "type": "address" + } + ], + "name": "buyTokens", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hasEnded", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [], + "name": "Finalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "purchaser", + "type": "address" + }, + { + "indexed": true, + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "TokenPurchase", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\n\nimport './SafeMath.sol';\nimport './Ownable.sol';\nimport './Crowdsale.sol';\n\n/**\n * @title FinalizableCrowdsale\n * @dev Extension of Crowdsale where an owner can do extra work\n * after finishing.\n */\ncontract FinalizableCrowdsale is Crowdsale, Ownable {\n using SafeMath for uint256;\n\n bool public isFinalized = false;\n\n event Finalized();\n\n /**\n * @dev Must be called after crowdsale ends, to do some extra finalization\n * work. Calls the contract's finalization function.\n */\n function finalize() onlyOwner public {\n require(!isFinalized);\n require(hasEnded());\n\n finalization();\n Finalized();\n\n isFinalized = true;\n }\n\n /**\n * @dev Can be overridden to add finalization logic. The overriding function\n * should call super.finalization() to ensure the chain of finalization is\n * executed entirely.\n */\n function finalization() internal {\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol", + "exportedSymbols": { + "FinalizableCrowdsale": [ + 1442 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1396, + "name": "PragmaDirective", + "src": "0:24:8" + }, + { + "attributes": { + "SourceUnit": 1692, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "file": "./SafeMath.sol", + "scope": 1443, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1397, + "name": "ImportDirective", + "src": "26:24:8" + }, + { + "attributes": { + "SourceUnit": 1594, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./Ownable.sol", + "scope": 1443, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1398, + "name": "ImportDirective", + "src": "51:23:8" + }, + { + "attributes": { + "SourceUnit": 1323, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Crowdsale.sol", + "file": "./Crowdsale.sol", + "scope": 1443, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1399, + "name": "ImportDirective", + "src": "75:25:8" + }, + { + "attributes": { + "contractDependencies": [ + 1322, + 1593 + ], + "contractKind": "contract", + "documentation": "@title FinalizableCrowdsale\n@dev Extension of Crowdsale where an owner can do extra work\nafter finishing.", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 1442, + 1593, + 1322 + ], + "name": "FinalizableCrowdsale", + "scope": 1443 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Crowdsale", + "referencedDeclaration": 1322, + "type": "contract Crowdsale" + }, + "id": 1400, + "name": "UserDefinedTypeName", + "src": "258:9:8" + } + ], + "id": 1401, + "name": "InheritanceSpecifier", + "src": "258:9:8" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 1593, + "type": "contract Ownable" + }, + "id": 1402, + "name": "UserDefinedTypeName", + "src": "269:7:8" + } + ], + "id": 1403, + "name": "InheritanceSpecifier", + "src": "269:7:8" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 1691, + "type": "library SafeMath" + }, + "id": 1404, + "name": "UserDefinedTypeName", + "src": "287:8:8" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1405, + "name": "ElementaryTypeName", + "src": "300:7:8" + } + ], + "id": 1406, + "name": "UsingForDirective", + "src": "281:27:8" + }, + { + "attributes": { + "constant": false, + "name": "isFinalized", + "scope": 1442, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1407, + "name": "ElementaryTypeName", + "src": "312:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 1408, + "name": "Literal", + "src": "338:5:8" + } + ], + "id": 1409, + "name": "VariableDeclaration", + "src": "312:31:8" + }, + { + "attributes": { + "anonymous": false, + "name": "Finalized" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1410, + "name": "ParameterList", + "src": "363:2:8" + } + ], + "id": 1411, + "name": "EventDefinition", + "src": "348:18:8" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "finalize", + "payable": false, + "scope": 1442, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1412, + "name": "ParameterList", + "src": "531:2:8" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1415, + "name": "ParameterList", + "src": "551:0:8" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1413, + "name": "Identifier", + "src": "534:9:8" + } + ], + "id": 1414, + "name": "ModifierInvocation", + "src": "534:9:8" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1416, + "name": "Identifier", + "src": "557:7:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1409, + "type": "bool", + "value": "isFinalized" + }, + "id": 1417, + "name": "Identifier", + "src": "566:11:8" + } + ], + "id": 1418, + "name": "UnaryOperation", + "src": "565:12:8" + } + ], + "id": 1419, + "name": "FunctionCall", + "src": "557:21:8" + } + ], + "id": 1420, + "name": "ExpressionStatement", + "src": "557:21:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1421, + "name": "Identifier", + "src": "584:7:8" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1321, + "type": "function () view returns (bool)", + "value": "hasEnded" + }, + "id": 1422, + "name": "Identifier", + "src": "592:8:8" + } + ], + "id": 1423, + "name": "FunctionCall", + "src": "592:10:8" + } + ], + "id": 1424, + "name": "FunctionCall", + "src": "584:19:8" + } + ], + "id": 1425, + "name": "ExpressionStatement", + "src": "584:19:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1441, + "type": "function ()", + "value": "finalization" + }, + "id": 1426, + "name": "Identifier", + "src": "610:12:8" + } + ], + "id": 1427, + "name": "FunctionCall", + "src": "610:14:8" + } + ], + "id": 1428, + "name": "ExpressionStatement", + "src": "610:14:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1411, + "type": "function ()", + "value": "Finalized" + }, + "id": 1429, + "name": "Identifier", + "src": "630:9:8" + } + ], + "id": 1430, + "name": "FunctionCall", + "src": "630:11:8" + } + ], + "id": 1431, + "name": "ExpressionStatement", + "src": "630:11:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1409, + "type": "bool", + "value": "isFinalized" + }, + "id": 1432, + "name": "Identifier", + "src": "648:11:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1433, + "name": "Literal", + "src": "662:4:8" + } + ], + "id": 1434, + "name": "Assignment", + "src": "648:18:8" + } + ], + "id": 1435, + "name": "ExpressionStatement", + "src": "648:18:8" + } + ], + "id": 1436, + "name": "Block", + "src": "551:120:8" + } + ], + "id": 1437, + "name": "FunctionDefinition", + "src": "514:157:8" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "finalization", + "payable": false, + "scope": 1442, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1438, + "name": "ParameterList", + "src": "888:2:8" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1439, + "name": "ParameterList", + "src": "900:0:8" + }, + { + "attributes": { + "statements": [ + null + ] + }, + "children": [], + "id": 1440, + "name": "Block", + "src": "900:5:8" + } + ], + "id": 1441, + "name": "FunctionDefinition", + "src": "867:38:8" + } + ], + "id": 1442, + "name": "ContractDefinition", + "src": "225:682:8" + } + ], + "id": 1443, + "name": "SourceUnit", + "src": "0:908:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.308Z" +} \ No newline at end of file diff --git a/build/contracts/Forwarder.json b/build/contracts/Forwarder.json new file mode 100644 index 0000000..4adde33 --- /dev/null +++ b/build/contracts/Forwarder.json @@ -0,0 +1,9179 @@ +{ + "contractName": "Forwarder", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "parentAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "tokenContractAddress", + "type": "address" + } + ], + "name": "flushTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "flush", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "from", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "ForwarderDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "tokenContractAddress", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "TokensFlushed", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a723058203831dd6d0d4d052358121bd37f489b358d76e72d923efb87f9bc9e913e58921d0029", + "deployedBytecode": "0x606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a723058203831dd6d0d4d052358121bd37f489b358d76e72d923efb87f9bc9e913e58921d0029", + "sourceMap": "457:1908:0:-;;;883:58;;;;;;;;926:10;910:13;;:26;;;;;;;;;;;;;;;;;;457:1908;;;;;;", + "deployedSourceMap": "457:1908:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1305:13;;;;;;;;;;;:18;;1330:9;1341:8;;1305:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1304:46;1300:63;;;1358:5;;;1300:63;1428:51;1447:10;1459:9;1470:8;;1428:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;457:1908;552:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1676:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;2277:86;;;;;;;;;;;;;;552:28;;;;;;;;;;;;;:::o;1676:436::-;1744:23;1812:20;1854;1110:13;;;;;;;;;;;1096:27;;:10;:27;;;;1092:53;;;1133:5;;;1092:53;1785:20;1744:62;;1843:4;1812:36;;1877:8;:18;;;1896:16;1877:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1854:59;;1943:1;1923:16;:21;1919:48;;;1954:7;;1919:48;1977:8;:17;;;1995:13;;;;;;;;;;;2010:16;1977:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1976:51;1972:77;;;2037:5;;;1972:77;2054:53;2068:20;2090:16;2054:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:1;1676:436;;;;:::o;2277:86::-;2305:13;;;;;;;;;;;:18;;2330:4;:12;;;2305:40;;;;;;;;;;;;;;;;;;;2304:41;2300:58;;;2353:5;;;2300:58;2277:86::o", + "source": "pragma solidity ^0.4.14;\n\n/**\n * Contract that exposes the needed erc20 token functions\n */\n\ncontract ERC20Interface {\n // Send _value amount of tokens to address _to\n function transfer(address _to, uint256 _value) returns (bool success);\n // Get the account balance of another account with address _owner\n function balanceOf(address _owner) constant returns (uint256 balance);\n}\n\n/**\n * Contract that will forward any incoming Ether to its creator\n */\ncontract Forwarder {\n // Address to which any funds sent to this contract will be forwarded\n address public parentAddress;\n event ForwarderDeposited(address from, uint value, bytes data);\n\n event TokensFlushed(\n address tokenContractAddress, // The contract address of the token\n uint value // Amount of token sent\n );\n\n /**\n * Create the contract, and set the destination address to that of the creator\n */\n function Forwarder() {\n parentAddress = msg.sender;\n }\n\n /**\n * Modifier that will execute internal code block only if the sender is a parent of the forwarder contract\n */\n modifier onlyParent {\n if (msg.sender != parentAddress) {\n throw;\n }\n _;\n }\n\n /**\n * Default function; Gets called when Ether is deposited, and forwards it to the destination address\n */\n function() payable {\n if (!parentAddress.call.value(msg.value)(msg.data))\n throw;\n // Fire off the deposited event if we can forward it \n ForwarderDeposited(msg.sender, msg.value, msg.data);\n }\n\n /**\n * Execute a token transfer of the full balance from the forwarder token to the main wallet contract\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushTokens(address tokenContractAddress) onlyParent {\n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n var forwarderAddress = address(this);\n var forwarderBalance = instance.balanceOf(forwarderAddress);\n if (forwarderBalance == 0) {\n return;\n }\n if (!instance.transfer(parentAddress, forwarderBalance)) {\n throw;\n }\n TokensFlushed(tokenContractAddress, forwarderBalance);\n }\n\n /**\n * It is possible that funds were sent to this address before the contract was deployed.\n * We can flush those funds to the destination address.\n */\n function flush() {\n if (!parentAddress.call.value(this.balance)())\n throw;\n }\n}\n\n/**\n * Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\n * Typically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.\n */\ncontract WalletSimple {\n // Events\n event Deposited(address from, uint value, bytes data);\n event SafeModeActivated(address msgSender);\n event Transacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, data, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of Wei sent to the address\n bytes data // Data sent when invoking the transaction\n );\n event TokenTransacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, tokenContractAddress, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of token sent\n address tokenContractAddress // The contract address of the token\n );\n\n // Public fields\n address[] public signers; // The addresses that can co-sign transactions on the wallet\n bool public safeMode = false; // When active, wallet may only send to signer addresses\n\n // Internal fields\n uint constant SEQUENCE_ID_WINDOW_SIZE = 10;\n uint[10] recentSequenceIds;\n\n /**\n * Modifier that will execute internal code block only if the sender is an authorized signer on this wallet\n */\n modifier onlysigner {\n if (!isSigner(msg.sender)) {\n throw;\n }\n _;\n }\n\n /**\n * Set up a simple multi-sig wallet by specifying the signers allowed to be used on this wallet.\n * 2 signers will be required to send a transaction from this wallet.\n * Note: The sender is NOT automatically added to the list of signers.\n * Signers CANNOT be changed once they are set\n *\n * @param allowedSigners An array of signers on the wallet\n */\n function WalletSimple(address[] allowedSigners) {\n if (allowedSigners.length != 3) {\n // Invalid number of signers\n throw;\n }\n signers = allowedSigners;\n }\n\n /**\n * Gets called when a transaction is received without calling a method\n */\n function() payable {\n if (msg.value > 0) {\n // Fire deposited event if we are receiving funds\n Deposited(msg.sender, msg.value, msg.data);\n }\n }\n\n /**\n * Create a new contract (and also address) that forwards funds to this contract\n * returns address of newly created forwarder address\n */\n function createForwarder() onlysigner returns (address) {\n return new Forwarder();\n }\n\n /**\n * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, data, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in Wei to be sent\n * @param data the data to send to the toAddress when invoking the transaction\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, data, expireTime, sequenceId)\n */\n function sendMultiSig(address toAddress, uint value, bytes data, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ETHER\", toAddress, value, data, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n\n // Success, send the transaction\n if (!(toAddress.call.value(value)(data))) {\n // Failed executing transaction\n throw;\n }\n Transacted(msg.sender, otherSigner, operationHash, toAddress, value, data);\n }\n \n /**\n * Execute a multi-signature token transfer from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, tokenContractAddress, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in tokens to be sent\n * @param tokenContractAddress the address of the erc20 token contract\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, tokenContractAddress, expireTime, sequenceId)\n */\n function sendMultiSigToken(address toAddress, uint value, address tokenContractAddress, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ERC20\", toAddress, value, tokenContractAddress, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n \n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n if (!instance.transfer(toAddress, value)) {\n throw;\n }\n TokenTransacted(msg.sender, otherSigner, operationHash, toAddress, value, tokenContractAddress);\n }\n\n /**\n * Execute a token flush from one of the forwarder addresses. This transfer needs only a single signature and can be done by any signer\n *\n * @param forwarderAddress the address of the forwarder address to flush the tokens from\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushForwarderTokens(address forwarderAddress, address tokenContractAddress) onlysigner { \n Forwarder forwarder = Forwarder(forwarderAddress);\n forwarder.flushTokens(tokenContractAddress);\n } \n \n /**\n * Do common multisig verification for both eth sends and erc20token transfers\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * returns address of the address to send tokens or eth to\n */\n function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) {\n\n var otherSigner = recoverAddressFromSignature(operationHash, signature);\n\n // Verify if we are in safe mode. In safe mode, the wallet can only send to signers\n if (safeMode && !isSigner(toAddress)) {\n // We are in safe mode and the toAddress is not a signer. Disallow!\n throw;\n }\n // Verify that the transaction has not expired\n if (expireTime < block.timestamp) {\n // Transaction expired\n throw;\n }\n\n // Try to insert the sequence ID. Will throw if the sequence id was invalid\n tryInsertSequenceId(sequenceId);\n\n if (!isSigner(otherSigner)) {\n // Other signer not on this wallet or operation does not match arguments\n throw;\n }\n if (otherSigner == msg.sender) {\n // Cannot approve own transaction\n throw;\n }\n\n return otherSigner;\n }\n\n /**\n * Irrevocably puts contract into safe mode. When in this mode, transactions may only be sent to signing addresses.\n */\n function activateSafeMode() onlysigner {\n safeMode = true;\n SafeModeActivated(msg.sender);\n }\n\n /**\n * Determine if an address is a signer on this wallet\n * @param signer address to check\n * returns boolean indicating whether address is signer or not\n */\n function isSigner(address signer) returns (bool) {\n // Iterate through all signers on the wallet and\n for (uint i = 0; i < signers.length; i++) {\n if (signers[i] == signer) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the second signer's address using ecrecover\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * returns address recovered from the signature\n */\n function recoverAddressFromSignature(bytes32 operationHash, bytes signature) private returns (address) {\n if (signature.length != 65) {\n throw;\n }\n // We need to unpack the signature, which is given as an array of 65 bytes (from eth.sign)\n bytes32 r;\n bytes32 s;\n uint8 v;\n assembly {\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n }\n if (v < 27) {\n v += 27; // Ethereum versions are 27 or 28 as opposed to 0 or 1 which is submitted by some signing libs\n }\n return ecrecover(operationHash, v, r, s);\n }\n\n /**\n * Verify that the sequence id has not been used before and inserts it. Throws if the sequence ID was not accepted.\n * We collect a window of up to 10 recent sequence ids, and allow any sequence id that is not in the window and\n * greater than the minimum element in the window.\n * @param sequenceId to insert into array of stored ids\n */\n function tryInsertSequenceId(uint sequenceId) onlysigner private {\n // Keep a pointer to the lowest value element in the window\n uint lowestValueIndex = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] == sequenceId) {\n // This sequence ID has been used before. Disallow!\n throw;\n }\n if (recentSequenceIds[i] < recentSequenceIds[lowestValueIndex]) {\n lowestValueIndex = i;\n }\n }\n if (sequenceId < recentSequenceIds[lowestValueIndex]) {\n // The sequence ID being used is lower than the lowest value in the window\n // so we cannot accept it as it may have been used before\n throw;\n }\n if (sequenceId > (recentSequenceIds[lowestValueIndex] + 10000)) {\n // Block sequence IDs which are much higher than the lowest value\n // This prevents people blocking the contract by using very large sequence IDs quickly\n throw;\n }\n recentSequenceIds[lowestValueIndex] = sequenceId;\n }\n\n /**\n * Gets the next available sequence ID for signing when using executeAndConfirm\n * returns the sequenceId one higher than the highest currently stored\n */\n function getNextSequenceId() returns (uint) {\n uint highestSequenceId = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] > highestSequenceId) {\n highestSequenceId = recentSequenceIds[i];\n }\n }\n return highestSequenceId + 1;\n }\n}", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "exportedSymbols": { + "ERC20Interface": [ + 18 + ], + "Forwarder": [ + 139 + ], + "WalletSimple": [ + 654 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".14" + ] + }, + "id": 1, + "name": "PragmaDirective", + "src": "0:24:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that exposes the needed erc20 token functions", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 18 + ], + "name": "ERC20Interface", + "scope": 655 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 18, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2, + "name": "ElementaryTypeName", + "src": "188:7:0" + } + ], + "id": 3, + "name": "VariableDeclaration", + "src": "188:11:0" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4, + "name": "ElementaryTypeName", + "src": "201:7:0" + } + ], + "id": 5, + "name": "VariableDeclaration", + "src": "201:14:0" + } + ], + "id": 6, + "name": "ParameterList", + "src": "187:29:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "success", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7, + "name": "ElementaryTypeName", + "src": "226:4:0" + } + ], + "id": 8, + "name": "VariableDeclaration", + "src": "226:12:0" + } + ], + "id": 9, + "name": "ParameterList", + "src": "225:14:0" + } + ], + "id": 10, + "name": "FunctionDefinition", + "src": "170:70:0" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 18, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 11, + "name": "ElementaryTypeName", + "src": "330:7:0" + } + ], + "id": 12, + "name": "VariableDeclaration", + "src": "330:14:0" + } + ], + "id": 13, + "name": "ParameterList", + "src": "329:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 14, + "name": "ElementaryTypeName", + "src": "364:7:0" + } + ], + "id": 15, + "name": "VariableDeclaration", + "src": "364:15:0" + } + ], + "id": 16, + "name": "ParameterList", + "src": "363:17:0" + } + ], + "id": 17, + "name": "FunctionDefinition", + "src": "311:70:0" + } + ], + "id": 18, + "name": "ContractDefinition", + "src": "93:290:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that will forward any incoming Ether to its creator", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 139 + ], + "name": "Forwarder", + "scope": 655 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "parentAddress", + "scope": 139, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 19, + "name": "ElementaryTypeName", + "src": "552:7:0" + } + ], + "id": 20, + "name": "VariableDeclaration", + "src": "552:28:0" + }, + { + "attributes": { + "anonymous": false, + "name": "ForwarderDeposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 21, + "name": "ElementaryTypeName", + "src": "609:7:0" + } + ], + "id": 22, + "name": "VariableDeclaration", + "src": "609:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 23, + "name": "ElementaryTypeName", + "src": "623:4:0" + } + ], + "id": 24, + "name": "VariableDeclaration", + "src": "623:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 25, + "name": "ElementaryTypeName", + "src": "635:5:0" + } + ], + "id": 26, + "name": "VariableDeclaration", + "src": "635:10:0" + } + ], + "id": 27, + "name": "ParameterList", + "src": "608:38:0" + } + ], + "id": 28, + "name": "EventDefinition", + "src": "584:63:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokensFlushed" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 29, + "name": "ElementaryTypeName", + "src": "676:7:0" + } + ], + "id": 30, + "name": "VariableDeclaration", + "src": "676:28:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 31, + "name": "ElementaryTypeName", + "src": "747:4:0" + } + ], + "id": 32, + "name": "VariableDeclaration", + "src": "747:10:0" + } + ], + "id": 33, + "name": "ParameterList", + "src": "670:115:0" + } + ], + "id": 34, + "name": "EventDefinition", + "src": "651:135:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Forwarder", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 35, + "name": "ParameterList", + "src": "901:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 36, + "name": "ParameterList", + "src": "904:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 37, + "name": "Identifier", + "src": "910:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 38, + "name": "Identifier", + "src": "926:3:0" + } + ], + "id": 39, + "name": "MemberAccess", + "src": "926:10:0" + } + ], + "id": 40, + "name": "Assignment", + "src": "910:26:0" + } + ], + "id": 41, + "name": "ExpressionStatement", + "src": "910:26:0" + } + ], + "id": 42, + "name": "Block", + "src": "904:37:0" + } + ], + "id": 43, + "name": "FunctionDefinition", + "src": "883:58:0" + }, + { + "attributes": { + "name": "onlyParent", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 44, + "name": "ParameterList", + "src": "1086:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 45, + "name": "Identifier", + "src": "1096:3:0" + } + ], + "id": 46, + "name": "MemberAccess", + "src": "1096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 47, + "name": "Identifier", + "src": "1110:13:0" + } + ], + "id": 48, + "name": "BinaryOperation", + "src": "1096:27:0" + }, + { + "children": [ + { + "children": [], + "id": 49, + "name": "Throw", + "src": "1133:5:0" + } + ], + "id": 50, + "name": "Block", + "src": "1125:20:0" + } + ], + "id": 51, + "name": "IfStatement", + "src": "1092:53:0" + }, + { + "id": 52, + "name": "PlaceholderStatement", + "src": "1150:1:0" + } + ], + "id": 53, + "name": "Block", + "src": "1086:70:0" + } + ], + "id": 54, + "name": "ModifierDefinition", + "src": "1066:90:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 139, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 55, + "name": "ParameterList", + "src": "1283:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 56, + "name": "ParameterList", + "src": "1294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 57, + "name": "Identifier", + "src": "1305:13:0" + } + ], + "id": 58, + "name": "MemberAccess", + "src": "1305:18:0" + } + ], + "id": 59, + "name": "MemberAccess", + "src": "1305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 60, + "name": "Identifier", + "src": "1330:3:0" + } + ], + "id": 61, + "name": "MemberAccess", + "src": "1330:9:0" + } + ], + "id": 62, + "name": "FunctionCall", + "src": "1305:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 63, + "name": "Identifier", + "src": "1341:3:0" + } + ], + "id": 64, + "name": "MemberAccess", + "src": "1341:8:0" + } + ], + "id": 65, + "name": "FunctionCall", + "src": "1305:45:0" + } + ], + "id": 66, + "name": "UnaryOperation", + "src": "1304:46:0" + }, + { + "children": [], + "id": 67, + "name": "Throw", + "src": "1358:5:0" + } + ], + "id": 68, + "name": "IfStatement", + "src": "1300:63:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 28, + "type": "function (address,uint256,bytes memory)", + "value": "ForwarderDeposited" + }, + "id": 69, + "name": "Identifier", + "src": "1428:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 70, + "name": "Identifier", + "src": "1447:3:0" + } + ], + "id": 71, + "name": "MemberAccess", + "src": "1447:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 72, + "name": "Identifier", + "src": "1459:3:0" + } + ], + "id": 73, + "name": "MemberAccess", + "src": "1459:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 74, + "name": "Identifier", + "src": "1470:3:0" + } + ], + "id": 75, + "name": "MemberAccess", + "src": "1470:8:0" + } + ], + "id": 76, + "name": "FunctionCall", + "src": "1428:51:0" + } + ], + "id": 77, + "name": "ExpressionStatement", + "src": "1428:51:0" + } + ], + "id": 78, + "name": "Block", + "src": "1294:190:0" + } + ], + "id": 79, + "name": "FunctionDefinition", + "src": "1275:209:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushTokens", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 80, + "name": "ElementaryTypeName", + "src": "1697:7:0" + } + ], + "id": 81, + "name": "VariableDeclaration", + "src": "1697:28:0" + } + ], + "id": 82, + "name": "ParameterList", + "src": "1696:30:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 85, + "name": "ParameterList", + "src": "1738:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 54, + "type": "modifier ()", + "value": "onlyParent" + }, + "id": 83, + "name": "Identifier", + "src": "1727:10:0" + } + ], + "id": 84, + "name": "ModifierInvocation", + "src": "1727:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 87 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 86, + "name": "UserDefinedTypeName", + "src": "1744:14:0" + } + ], + "id": 87, + "name": "VariableDeclaration", + "src": "1744:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 88, + "name": "Identifier", + "src": "1770:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 89, + "name": "Identifier", + "src": "1785:20:0" + } + ], + "id": 90, + "name": "FunctionCall", + "src": "1770:36:0" + } + ], + "id": 91, + "name": "VariableDeclarationStatement", + "src": "1744:62:0" + }, + { + "attributes": { + "assignments": [ + 92 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 92, + "name": "VariableDeclaration", + "src": "1812:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Forwarder_$139", + "typeString": "contract Forwarder" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 93, + "name": "ElementaryTypeNameExpression", + "src": "1835:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 94, + "name": "Identifier", + "src": "1843:4:0" + } + ], + "id": 95, + "name": "FunctionCall", + "src": "1835:13:0" + } + ], + "id": 96, + "name": "VariableDeclarationStatement", + "src": "1812:36:0" + }, + { + "attributes": { + "assignments": [ + 97 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderBalance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 97, + "name": "VariableDeclaration", + "src": "1854:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balanceOf", + "referencedDeclaration": 17, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 98, + "name": "Identifier", + "src": "1877:8:0" + } + ], + "id": 99, + "name": "MemberAccess", + "src": "1877:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 92, + "type": "address", + "value": "forwarderAddress" + }, + "id": 100, + "name": "Identifier", + "src": "1896:16:0" + } + ], + "id": 101, + "name": "FunctionCall", + "src": "1877:36:0" + } + ], + "id": 102, + "name": "VariableDeclarationStatement", + "src": "1854:59:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 103, + "name": "Identifier", + "src": "1923:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 104, + "name": "Literal", + "src": "1943:1:0" + } + ], + "id": 105, + "name": "BinaryOperation", + "src": "1923:21:0" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 85 + }, + "id": 106, + "name": "Return", + "src": "1954:7:0" + } + ], + "id": 107, + "name": "Block", + "src": "1946:21:0" + } + ], + "id": 108, + "name": "IfStatement", + "src": "1919:48:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 109, + "name": "Identifier", + "src": "1977:8:0" + } + ], + "id": 110, + "name": "MemberAccess", + "src": "1977:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 111, + "name": "Identifier", + "src": "1995:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 112, + "name": "Identifier", + "src": "2010:16:0" + } + ], + "id": 113, + "name": "FunctionCall", + "src": "1977:50:0" + } + ], + "id": 114, + "name": "UnaryOperation", + "src": "1976:51:0" + }, + { + "children": [ + { + "children": [], + "id": 115, + "name": "Throw", + "src": "2037:5:0" + } + ], + "id": 116, + "name": "Block", + "src": "2029:20:0" + } + ], + "id": 117, + "name": "IfStatement", + "src": "1972:77:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 34, + "type": "function (address,uint256)", + "value": "TokensFlushed" + }, + "id": 118, + "name": "Identifier", + "src": "2054:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 119, + "name": "Identifier", + "src": "2068:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 120, + "name": "Identifier", + "src": "2090:16:0" + } + ], + "id": 121, + "name": "FunctionCall", + "src": "2054:53:0" + } + ], + "id": 122, + "name": "ExpressionStatement", + "src": "2054:53:0" + } + ], + "id": 123, + "name": "Block", + "src": "1738:374:0" + } + ], + "id": 124, + "name": "FunctionDefinition", + "src": "1676:436:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "flush", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 125, + "name": "ParameterList", + "src": "2291:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 126, + "name": "ParameterList", + "src": "2294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 127, + "name": "Identifier", + "src": "2305:13:0" + } + ], + "id": 128, + "name": "MemberAccess", + "src": "2305:18:0" + } + ], + "id": 129, + "name": "MemberAccess", + "src": "2305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balance", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 130, + "name": "Identifier", + "src": "2330:4:0" + } + ], + "id": 131, + "name": "MemberAccess", + "src": "2330:12:0" + } + ], + "id": 132, + "name": "FunctionCall", + "src": "2305:38:0" + } + ], + "id": 133, + "name": "FunctionCall", + "src": "2305:40:0" + } + ], + "id": 134, + "name": "UnaryOperation", + "src": "2304:41:0" + }, + { + "children": [], + "id": 135, + "name": "Throw", + "src": "2353:5:0" + } + ], + "id": 136, + "name": "IfStatement", + "src": "2300:58:0" + } + ], + "id": 137, + "name": "Block", + "src": "2294:69:0" + } + ], + "id": 138, + "name": "FunctionDefinition", + "src": "2277:86:0" + } + ], + "id": 139, + "name": "ContractDefinition", + "src": "457:1908:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + 139 + ], + "contractKind": "contract", + "documentation": "Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\nTypically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 654 + ], + "name": "WalletSimple", + "scope": 655 + }, + "children": [ + { + "attributes": { + "anonymous": false, + "name": "Deposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 140, + "name": "ElementaryTypeName", + "src": "2669:7:0" + } + ], + "id": 141, + "name": "VariableDeclaration", + "src": "2669:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 142, + "name": "ElementaryTypeName", + "src": "2683:4:0" + } + ], + "id": 143, + "name": "VariableDeclaration", + "src": "2683:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 144, + "name": "ElementaryTypeName", + "src": "2695:5:0" + } + ], + "id": 145, + "name": "VariableDeclaration", + "src": "2695:10:0" + } + ], + "id": 146, + "name": "ParameterList", + "src": "2668:38:0" + } + ], + "id": 147, + "name": "EventDefinition", + "src": "2653:54:0" + }, + { + "attributes": { + "anonymous": false, + "name": "SafeModeActivated" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 151, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 148, + "name": "ElementaryTypeName", + "src": "2734:7:0" + } + ], + "id": 149, + "name": "VariableDeclaration", + "src": "2734:17:0" + } + ], + "id": 150, + "name": "ParameterList", + "src": "2733:19:0" + } + ], + "id": 151, + "name": "EventDefinition", + "src": "2710:43:0" + }, + { + "attributes": { + "anonymous": false, + "name": "Transacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 152, + "name": "ElementaryTypeName", + "src": "2778:7:0" + } + ], + "id": 153, + "name": "VariableDeclaration", + "src": "2778:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 154, + "name": "ElementaryTypeName", + "src": "2868:7:0" + } + ], + "id": 155, + "name": "VariableDeclaration", + "src": "2868:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 156, + "name": "ElementaryTypeName", + "src": "2970:7:0" + } + ], + "id": 157, + "name": "VariableDeclaration", + "src": "2970:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 158, + "name": "ElementaryTypeName", + "src": "3068:7:0" + } + ], + "id": 159, + "name": "VariableDeclaration", + "src": "3068:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 160, + "name": "ElementaryTypeName", + "src": "3134:4:0" + } + ], + "id": 161, + "name": "VariableDeclaration", + "src": "3134:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 162, + "name": "ElementaryTypeName", + "src": "3187:5:0" + } + ], + "id": 163, + "name": "VariableDeclaration", + "src": "3187:10:0" + } + ], + "id": 164, + "name": "ParameterList", + "src": "2772:472:0" + } + ], + "id": 165, + "name": "EventDefinition", + "src": "2756:489:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokenTransacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 166, + "name": "ElementaryTypeName", + "src": "3275:7:0" + } + ], + "id": 167, + "name": "VariableDeclaration", + "src": "3275:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 168, + "name": "ElementaryTypeName", + "src": "3365:7:0" + } + ], + "id": 169, + "name": "VariableDeclaration", + "src": "3365:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 170, + "name": "ElementaryTypeName", + "src": "3467:7:0" + } + ], + "id": 171, + "name": "VariableDeclaration", + "src": "3467:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 172, + "name": "ElementaryTypeName", + "src": "3581:7:0" + } + ], + "id": 173, + "name": "VariableDeclaration", + "src": "3581:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 174, + "name": "ElementaryTypeName", + "src": "3647:4:0" + } + ], + "id": 175, + "name": "VariableDeclaration", + "src": "3647:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 176, + "name": "ElementaryTypeName", + "src": "3687:7:0" + } + ], + "id": 177, + "name": "VariableDeclaration", + "src": "3687:28:0" + } + ], + "id": 178, + "name": "ParameterList", + "src": "3269:487:0" + } + ], + "id": 179, + "name": "EventDefinition", + "src": "3248:509:0" + }, + { + "attributes": { + "constant": false, + "name": "signers", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "address[] storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 180, + "name": "ElementaryTypeName", + "src": "3780:7:0" + } + ], + "id": 181, + "name": "ArrayTypeName", + "src": "3780:9:0" + } + ], + "id": 182, + "name": "VariableDeclaration", + "src": "3780:24:0" + }, + { + "attributes": { + "constant": false, + "name": "safeMode", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 183, + "name": "ElementaryTypeName", + "src": "3869:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 184, + "name": "Literal", + "src": "3892:5:0" + } + ], + "id": 185, + "name": "VariableDeclaration", + "src": "3869:28:0" + }, + { + "attributes": { + "constant": true, + "name": "SEQUENCE_ID_WINDOW_SIZE", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 186, + "name": "ElementaryTypeName", + "src": "3980:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 187, + "name": "Literal", + "src": "4020:2:0" + } + ], + "id": 188, + "name": "VariableDeclaration", + "src": "3980:42:0" + }, + { + "attributes": { + "constant": false, + "name": "recentSequenceIds", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256[10] storage ref", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[10] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 189, + "name": "ElementaryTypeName", + "src": "4026:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 190, + "name": "Literal", + "src": "4031:2:0" + } + ], + "id": 191, + "name": "ArrayTypeName", + "src": "4026:8:0" + } + ], + "id": 192, + "name": "VariableDeclaration", + "src": "4026:26:0" + }, + { + "attributes": { + "name": "onlysigner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 193, + "name": "ParameterList", + "src": "4199:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 194, + "name": "Identifier", + "src": "4210:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 195, + "name": "Identifier", + "src": "4219:3:0" + } + ], + "id": 196, + "name": "MemberAccess", + "src": "4219:10:0" + } + ], + "id": 197, + "name": "FunctionCall", + "src": "4210:20:0" + } + ], + "id": 198, + "name": "UnaryOperation", + "src": "4209:21:0" + }, + { + "children": [ + { + "children": [], + "id": 199, + "name": "Throw", + "src": "4240:5:0" + } + ], + "id": 200, + "name": "Block", + "src": "4232:20:0" + } + ], + "id": 201, + "name": "IfStatement", + "src": "4205:47:0" + }, + { + "id": 202, + "name": "PlaceholderStatement", + "src": "4257:1:0" + } + ], + "id": 203, + "name": "Block", + "src": "4199:64:0" + } + ], + "id": 204, + "name": "ModifierDefinition", + "src": "4179:84:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "WalletSimple", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "allowedSigners", + "scope": 222, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 205, + "name": "ElementaryTypeName", + "src": "4660:7:0" + } + ], + "id": 206, + "name": "ArrayTypeName", + "src": "4660:9:0" + } + ], + "id": 207, + "name": "VariableDeclaration", + "src": "4660:24:0" + } + ], + "id": 208, + "name": "ParameterList", + "src": "4659:26:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 209, + "name": "ParameterList", + "src": "4686:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 210, + "name": "Identifier", + "src": "4696:14:0" + } + ], + "id": 211, + "name": "MemberAccess", + "src": "4696:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 212, + "name": "Literal", + "src": "4721:1:0" + } + ], + "id": 213, + "name": "BinaryOperation", + "src": "4696:26:0" + }, + { + "children": [ + { + "children": [], + "id": 214, + "name": "Throw", + "src": "4767:5:0" + } + ], + "id": 215, + "name": "Block", + "src": "4724:55:0" + } + ], + "id": 216, + "name": "IfStatement", + "src": "4692:87:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 217, + "name": "Identifier", + "src": "4784:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 218, + "name": "Identifier", + "src": "4794:14:0" + } + ], + "id": 219, + "name": "Assignment", + "src": "4784:24:0" + } + ], + "id": 220, + "name": "ExpressionStatement", + "src": "4784:24:0" + } + ], + "id": 221, + "name": "Block", + "src": "4686:127:0" + } + ], + "id": 222, + "name": "FunctionDefinition", + "src": "4638:175:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 654, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 223, + "name": "ParameterList", + "src": "4910:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 224, + "name": "ParameterList", + "src": "4921:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 225, + "name": "Identifier", + "src": "4931:3:0" + } + ], + "id": 226, + "name": "MemberAccess", + "src": "4931:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 227, + "name": "Literal", + "src": "4943:1:0" + } + ], + "id": 228, + "name": "BinaryOperation", + "src": "4931:13:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "function (address,uint256,bytes memory)", + "value": "Deposited" + }, + "id": 229, + "name": "Identifier", + "src": "5010:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 230, + "name": "Identifier", + "src": "5020:3:0" + } + ], + "id": 231, + "name": "MemberAccess", + "src": "5020:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 232, + "name": "Identifier", + "src": "5032:3:0" + } + ], + "id": 233, + "name": "MemberAccess", + "src": "5032:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 234, + "name": "Identifier", + "src": "5043:3:0" + } + ], + "id": 235, + "name": "MemberAccess", + "src": "5043:8:0" + } + ], + "id": 236, + "name": "FunctionCall", + "src": "5010:42:0" + } + ], + "id": 237, + "name": "ExpressionStatement", + "src": "5010:42:0" + } + ], + "id": 238, + "name": "Block", + "src": "4946:113:0" + } + ], + "id": 239, + "name": "IfStatement", + "src": "4927:132:0" + } + ], + "id": 240, + "name": "Block", + "src": "4921:142:0" + } + ], + "id": 241, + "name": "FunctionDefinition", + "src": "4902:161:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "createForwarder", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 242, + "name": "ParameterList", + "src": "5242:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 253, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 245, + "name": "ElementaryTypeName", + "src": "5265:7:0" + } + ], + "id": 246, + "name": "VariableDeclaration", + "src": "5265:7:0" + } + ], + "id": 247, + "name": "ParameterList", + "src": "5264:9:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 243, + "name": "Identifier", + "src": "5245:10:0" + } + ], + "id": 244, + "name": "ModifierInvocation", + "src": "5245:10:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 247 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function () returns (contract Forwarder)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 248, + "name": "UserDefinedTypeName", + "src": "5291:9:0" + } + ], + "id": 249, + "name": "NewExpression", + "src": "5287:13:0" + } + ], + "id": 250, + "name": "FunctionCall", + "src": "5287:15:0" + } + ], + "id": 251, + "name": "Return", + "src": "5280:22:0" + } + ], + "id": 252, + "name": "Block", + "src": "5274:33:0" + } + ], + "id": 253, + "name": "FunctionDefinition", + "src": "5218:89:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 254, + "name": "ElementaryTypeName", + "src": "6207:7:0" + } + ], + "id": 255, + "name": "VariableDeclaration", + "src": "6207:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 256, + "name": "ElementaryTypeName", + "src": "6226:4:0" + } + ], + "id": 257, + "name": "VariableDeclaration", + "src": "6226:10:0" + }, + { + "attributes": { + "constant": false, + "name": "data", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 258, + "name": "ElementaryTypeName", + "src": "6238:5:0" + } + ], + "id": 259, + "name": "VariableDeclaration", + "src": "6238:10:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 260, + "name": "ElementaryTypeName", + "src": "6250:4:0" + } + ], + "id": 261, + "name": "VariableDeclaration", + "src": "6250:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 262, + "name": "ElementaryTypeName", + "src": "6267:4:0" + } + ], + "id": 263, + "name": "VariableDeclaration", + "src": "6267:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 264, + "name": "ElementaryTypeName", + "src": "6284:5:0" + } + ], + "id": 265, + "name": "VariableDeclaration", + "src": "6284:15:0" + } + ], + "id": 266, + "name": "ParameterList", + "src": "6206:94:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 269, + "name": "ParameterList", + "src": "6312:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 267, + "name": "Identifier", + "src": "6301:10:0" + } + ], + "id": 268, + "name": "ModifierInvocation", + "src": "6301:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 270 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 270, + "name": "VariableDeclaration", + "src": "6349:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_10516e70ec8c5048d00c1cd49852831bc8997d009e9f6718ca31f63fc81f1f25", + "typeString": "literal_string \"ETHER\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 271, + "name": "Identifier", + "src": "6369:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4554484552", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ETHER\"", + "value": "ETHER" + }, + "id": 272, + "name": "Literal", + "src": "6374:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 273, + "name": "Identifier", + "src": "6383:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 274, + "name": "Identifier", + "src": "6394:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 275, + "name": "Identifier", + "src": "6401:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 276, + "name": "Identifier", + "src": "6407:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 277, + "name": "Identifier", + "src": "6419:10:0" + } + ], + "id": 278, + "name": "FunctionCall", + "src": "6369:61:0" + } + ], + "id": 279, + "name": "VariableDeclarationStatement", + "src": "6349:81:0" + }, + { + "attributes": { + "assignments": [ + 280 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 280, + "name": "VariableDeclaration", + "src": "6441:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 281, + "name": "Identifier", + "src": "6459:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 282, + "name": "Identifier", + "src": "6474:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 283, + "name": "Identifier", + "src": "6485:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 265, + "type": "bytes memory", + "value": "signature" + }, + "id": 284, + "name": "Identifier", + "src": "6500:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 285, + "name": "Identifier", + "src": "6511:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 286, + "name": "Identifier", + "src": "6523:10:0" + } + ], + "id": 287, + "name": "FunctionCall", + "src": "6459:75:0" + } + ], + "id": 288, + "name": "VariableDeclarationStatement", + "src": "6441:93:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 289, + "name": "Identifier", + "src": "6584:9:0" + } + ], + "id": 290, + "name": "MemberAccess", + "src": "6584:14:0" + } + ], + "id": 291, + "name": "MemberAccess", + "src": "6584:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 292, + "name": "Identifier", + "src": "6605:5:0" + } + ], + "id": 293, + "name": "FunctionCall", + "src": "6584:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 294, + "name": "Identifier", + "src": "6612:4:0" + } + ], + "id": 295, + "name": "FunctionCall", + "src": "6584:33:0" + } + ], + "id": 296, + "name": "TupleExpression", + "src": "6583:35:0" + } + ], + "id": 297, + "name": "UnaryOperation", + "src": "6582:36:0" + }, + { + "children": [ + { + "children": [], + "id": 298, + "name": "Throw", + "src": "6666:5:0" + } + ], + "id": 299, + "name": "Block", + "src": "6620:58:0" + } + ], + "id": 300, + "name": "IfStatement", + "src": "6578:100:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "function (address,address,bytes32,address,uint256,bytes memory)", + "value": "Transacted" + }, + "id": 301, + "name": "Identifier", + "src": "6683:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 302, + "name": "Identifier", + "src": "6694:3:0" + } + ], + "id": 303, + "name": "MemberAccess", + "src": "6694:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 280, + "type": "address", + "value": "otherSigner" + }, + "id": 304, + "name": "Identifier", + "src": "6706:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 305, + "name": "Identifier", + "src": "6719:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 306, + "name": "Identifier", + "src": "6734:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 307, + "name": "Identifier", + "src": "6745:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 308, + "name": "Identifier", + "src": "6752:4:0" + } + ], + "id": 309, + "name": "FunctionCall", + "src": "6683:74:0" + } + ], + "id": 310, + "name": "ExpressionStatement", + "src": "6683:74:0" + } + ], + "id": 311, + "name": "Block", + "src": "6312:450:0" + } + ], + "id": 312, + "name": "FunctionDefinition", + "src": "6185:577:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSigToken", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 313, + "name": "ElementaryTypeName", + "src": "7699:7:0" + } + ], + "id": 314, + "name": "VariableDeclaration", + "src": "7699:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 315, + "name": "ElementaryTypeName", + "src": "7718:4:0" + } + ], + "id": 316, + "name": "VariableDeclaration", + "src": "7718:10:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 317, + "name": "ElementaryTypeName", + "src": "7730:7:0" + } + ], + "id": 318, + "name": "VariableDeclaration", + "src": "7730:28:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 319, + "name": "ElementaryTypeName", + "src": "7760:4:0" + } + ], + "id": 320, + "name": "VariableDeclaration", + "src": "7760:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 321, + "name": "ElementaryTypeName", + "src": "7777:4:0" + } + ], + "id": 322, + "name": "VariableDeclaration", + "src": "7777:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 323, + "name": "ElementaryTypeName", + "src": "7794:5:0" + } + ], + "id": 324, + "name": "VariableDeclaration", + "src": "7794:15:0" + } + ], + "id": 325, + "name": "ParameterList", + "src": "7698:112:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 328, + "name": "ParameterList", + "src": "7822:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 326, + "name": "Identifier", + "src": "7811:10:0" + } + ], + "id": 327, + "name": "ModifierInvocation", + "src": "7811:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 329 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 329, + "name": "VariableDeclaration", + "src": "7859:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ae85d849167ff996c04040c44924fd364217285e4cad818292c7ac37c0a345b", + "typeString": "literal_string \"ERC20\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 330, + "name": "Identifier", + "src": "7879:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4552433230", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ERC20\"", + "value": "ERC20" + }, + "id": 331, + "name": "Literal", + "src": "7884:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 332, + "name": "Identifier", + "src": "7893:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 333, + "name": "Identifier", + "src": "7904:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 334, + "name": "Identifier", + "src": "7911:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 335, + "name": "Identifier", + "src": "7933:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 336, + "name": "Identifier", + "src": "7945:10:0" + } + ], + "id": 337, + "name": "FunctionCall", + "src": "7879:77:0" + } + ], + "id": 338, + "name": "VariableDeclarationStatement", + "src": "7859:97:0" + }, + { + "attributes": { + "assignments": [ + 339 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 339, + "name": "VariableDeclaration", + "src": "7967:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 340, + "name": "Identifier", + "src": "7985:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 341, + "name": "Identifier", + "src": "8000:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 342, + "name": "Identifier", + "src": "8011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 324, + "type": "bytes memory", + "value": "signature" + }, + "id": 343, + "name": "Identifier", + "src": "8026:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 344, + "name": "Identifier", + "src": "8037:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 345, + "name": "Identifier", + "src": "8049:10:0" + } + ], + "id": 346, + "name": "FunctionCall", + "src": "7985:75:0" + } + ], + "id": 347, + "name": "VariableDeclarationStatement", + "src": "7967:93:0" + }, + { + "attributes": { + "assignments": [ + 349 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 348, + "name": "UserDefinedTypeName", + "src": "8071:14:0" + } + ], + "id": 349, + "name": "VariableDeclaration", + "src": "8071:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 350, + "name": "Identifier", + "src": "8097:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 351, + "name": "Identifier", + "src": "8112:20:0" + } + ], + "id": 352, + "name": "FunctionCall", + "src": "8097:36:0" + } + ], + "id": 353, + "name": "VariableDeclarationStatement", + "src": "8071:62:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 349, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 354, + "name": "Identifier", + "src": "8144:8:0" + } + ], + "id": 355, + "name": "MemberAccess", + "src": "8144:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 356, + "name": "Identifier", + "src": "8162:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 357, + "name": "Identifier", + "src": "8173:5:0" + } + ], + "id": 358, + "name": "FunctionCall", + "src": "8144:35:0" + } + ], + "id": 359, + "name": "UnaryOperation", + "src": "8143:36:0" + }, + { + "children": [ + { + "children": [], + "id": 360, + "name": "Throw", + "src": "8191:5:0" + } + ], + "id": 361, + "name": "Block", + "src": "8181:22:0" + } + ], + "id": 362, + "name": "IfStatement", + "src": "8139:64:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 179, + "type": "function (address,address,bytes32,address,uint256,address)", + "value": "TokenTransacted" + }, + "id": 363, + "name": "Identifier", + "src": "8208:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 364, + "name": "Identifier", + "src": "8224:3:0" + } + ], + "id": 365, + "name": "MemberAccess", + "src": "8224:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 339, + "type": "address", + "value": "otherSigner" + }, + "id": 366, + "name": "Identifier", + "src": "8236:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 367, + "name": "Identifier", + "src": "8249:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 368, + "name": "Identifier", + "src": "8264:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 369, + "name": "Identifier", + "src": "8275:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 370, + "name": "Identifier", + "src": "8282:20:0" + } + ], + "id": 371, + "name": "FunctionCall", + "src": "8208:95:0" + } + ], + "id": 372, + "name": "ExpressionStatement", + "src": "8208:95:0" + } + ], + "id": 373, + "name": "Block", + "src": "7822:486:0" + } + ], + "id": 374, + "name": "FunctionDefinition", + "src": "7672:636:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushForwarderTokens", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 375, + "name": "ElementaryTypeName", + "src": "8661:7:0" + } + ], + "id": 376, + "name": "VariableDeclaration", + "src": "8661:24:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 377, + "name": "ElementaryTypeName", + "src": "8687:7:0" + } + ], + "id": 378, + "name": "VariableDeclaration", + "src": "8687:28:0" + } + ], + "id": 379, + "name": "ParameterList", + "src": "8660:56:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 382, + "name": "ParameterList", + "src": "8728:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 380, + "name": "Identifier", + "src": "8717:10:0" + } + ], + "id": 381, + "name": "ModifierInvocation", + "src": "8717:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 384 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarder", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Forwarder", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 383, + "name": "UserDefinedTypeName", + "src": "8738:9:0" + } + ], + "id": 384, + "name": "VariableDeclaration", + "src": "8738:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 139, + "type": "type(contract Forwarder)", + "value": "Forwarder" + }, + "id": 385, + "name": "Identifier", + "src": "8760:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 376, + "type": "address", + "value": "forwarderAddress" + }, + "id": 386, + "name": "Identifier", + "src": "8770:16:0" + } + ], + "id": 387, + "name": "FunctionCall", + "src": "8760:27:0" + } + ], + "id": 388, + "name": "VariableDeclarationStatement", + "src": "8738:49:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "flushTokens", + "referencedDeclaration": 124, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 384, + "type": "contract Forwarder", + "value": "forwarder" + }, + "id": 389, + "name": "Identifier", + "src": "8793:9:0" + } + ], + "id": 391, + "name": "MemberAccess", + "src": "8793:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 378, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 392, + "name": "Identifier", + "src": "8815:20:0" + } + ], + "id": 393, + "name": "FunctionCall", + "src": "8793:43:0" + } + ], + "id": 394, + "name": "ExpressionStatement", + "src": "8793:43:0" + } + ], + "id": 395, + "name": "Block", + "src": "8728:113:0" + } + ], + "id": 396, + "name": "FunctionDefinition", + "src": "8631:210:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "verifyMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 397, + "name": "ElementaryTypeName", + "src": "9496:7:0" + } + ], + "id": 398, + "name": "VariableDeclaration", + "src": "9496:17:0" + }, + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 399, + "name": "ElementaryTypeName", + "src": "9515:7:0" + } + ], + "id": 400, + "name": "VariableDeclaration", + "src": "9515:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 401, + "name": "ElementaryTypeName", + "src": "9538:5:0" + } + ], + "id": 402, + "name": "VariableDeclaration", + "src": "9538:15:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 403, + "name": "ElementaryTypeName", + "src": "9555:4:0" + } + ], + "id": 404, + "name": "VariableDeclaration", + "src": "9555:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 405, + "name": "ElementaryTypeName", + "src": "9572:4:0" + } + ], + "id": 406, + "name": "VariableDeclaration", + "src": "9572:15:0" + } + ], + "id": 407, + "name": "ParameterList", + "src": "9495:93:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 408, + "name": "ElementaryTypeName", + "src": "9606:7:0" + } + ], + "id": 409, + "name": "VariableDeclaration", + "src": "9606:7:0" + } + ], + "id": 410, + "name": "ParameterList", + "src": "9605:9:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 411 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 411, + "name": "VariableDeclaration", + "src": "9622:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 544, + "type": "function (bytes32,bytes memory) returns (address)", + "value": "recoverAddressFromSignature" + }, + "id": 412, + "name": "Identifier", + "src": "9640:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 400, + "type": "bytes32", + "value": "operationHash" + }, + "id": 413, + "name": "Identifier", + "src": "9668:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 402, + "type": "bytes memory", + "value": "signature" + }, + "id": 414, + "name": "Identifier", + "src": "9683:9:0" + } + ], + "id": 415, + "name": "FunctionCall", + "src": "9640:53:0" + } + ], + "id": 416, + "name": "VariableDeclarationStatement", + "src": "9622:71:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 417, + "name": "Identifier", + "src": "9792:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 418, + "name": "Identifier", + "src": "9805:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 398, + "type": "address", + "value": "toAddress" + }, + "id": 419, + "name": "Identifier", + "src": "9814:9:0" + } + ], + "id": 420, + "name": "FunctionCall", + "src": "9805:19:0" + } + ], + "id": 421, + "name": "UnaryOperation", + "src": "9804:20:0" + } + ], + "id": 422, + "name": "BinaryOperation", + "src": "9792:32:0" + }, + { + "children": [ + { + "children": [], + "id": 423, + "name": "Throw", + "src": "9908:5:0" + } + ], + "id": 424, + "name": "Block", + "src": "9826:94:0" + } + ], + "id": 425, + "name": "IfStatement", + "src": "9788:132:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 404, + "type": "uint256", + "value": "expireTime" + }, + "id": 426, + "name": "Identifier", + "src": "9980:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "timestamp", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 658, + "type": "block", + "value": "block" + }, + "id": 427, + "name": "Identifier", + "src": "9993:5:0" + } + ], + "id": 428, + "name": "MemberAccess", + "src": "9993:15:0" + } + ], + "id": 429, + "name": "BinaryOperation", + "src": "9980:28:0" + }, + { + "children": [ + { + "children": [], + "id": 430, + "name": "Throw", + "src": "10047:5:0" + } + ], + "id": 431, + "name": "Block", + "src": "10010:49:0" + } + ], + "id": 432, + "name": "IfStatement", + "src": "9976:83:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 614, + "type": "function (uint256)", + "value": "tryInsertSequenceId" + }, + "id": 433, + "name": "Identifier", + "src": "10145:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 406, + "type": "uint256", + "value": "sequenceId" + }, + "id": 434, + "name": "Identifier", + "src": "10165:10:0" + } + ], + "id": 435, + "name": "FunctionCall", + "src": "10145:31:0" + } + ], + "id": 436, + "name": "ExpressionStatement", + "src": "10145:31:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 437, + "name": "Identifier", + "src": "10188:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 438, + "name": "Identifier", + "src": "10197:11:0" + } + ], + "id": 439, + "name": "FunctionCall", + "src": "10188:21:0" + } + ], + "id": 440, + "name": "UnaryOperation", + "src": "10187:22:0" + }, + { + "children": [ + { + "children": [], + "id": 441, + "name": "Throw", + "src": "10298:5:0" + } + ], + "id": 442, + "name": "Block", + "src": "10211:99:0" + } + ], + "id": 443, + "name": "IfStatement", + "src": "10183:127:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 444, + "name": "Identifier", + "src": "10319:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 445, + "name": "Identifier", + "src": "10334:3:0" + } + ], + "id": 446, + "name": "MemberAccess", + "src": "10334:10:0" + } + ], + "id": 447, + "name": "BinaryOperation", + "src": "10319:25:0" + }, + { + "children": [ + { + "children": [], + "id": 448, + "name": "Throw", + "src": "10394:5:0" + } + ], + "id": 449, + "name": "Block", + "src": "10346:60:0" + } + ], + "id": 450, + "name": "IfStatement", + "src": "10315:91:0" + }, + { + "attributes": { + "functionReturnParameters": 410 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 451, + "name": "Identifier", + "src": "10419:11:0" + } + ], + "id": 452, + "name": "Return", + "src": "10412:18:0" + } + ], + "id": 453, + "name": "Block", + "src": "9615:820:0" + } + ], + "id": 454, + "name": "FunctionDefinition", + "src": "9472:963:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "activateSafeMode", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 455, + "name": "ParameterList", + "src": "10594:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 458, + "name": "ParameterList", + "src": "10608:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 456, + "name": "Identifier", + "src": "10597:10:0" + } + ], + "id": 457, + "name": "ModifierInvocation", + "src": "10597:10:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 459, + "name": "Identifier", + "src": "10614:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 460, + "name": "Literal", + "src": "10625:4:0" + } + ], + "id": 461, + "name": "Assignment", + "src": "10614:15:0" + } + ], + "id": 462, + "name": "ExpressionStatement", + "src": "10614:15:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 151, + "type": "function (address)", + "value": "SafeModeActivated" + }, + "id": 463, + "name": "Identifier", + "src": "10635:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 464, + "name": "Identifier", + "src": "10653:3:0" + } + ], + "id": 465, + "name": "MemberAccess", + "src": "10653:10:0" + } + ], + "id": 466, + "name": "FunctionCall", + "src": "10635:29:0" + } + ], + "id": 467, + "name": "ExpressionStatement", + "src": "10635:29:0" + } + ], + "id": 468, + "name": "Block", + "src": "10608:61:0" + } + ], + "id": 469, + "name": "FunctionDefinition", + "src": "10569:100:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isSigner", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "signer", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 470, + "name": "ElementaryTypeName", + "src": "10860:7:0" + } + ], + "id": 471, + "name": "VariableDeclaration", + "src": "10860:14:0" + } + ], + "id": 472, + "name": "ParameterList", + "src": "10859:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 473, + "name": "ElementaryTypeName", + "src": "10885:4:0" + } + ], + "id": 474, + "name": "VariableDeclaration", + "src": "10885:4:0" + } + ], + "id": 475, + "name": "ParameterList", + "src": "10884:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 477 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 476, + "name": "ElementaryTypeName", + "src": "10955:4:0" + } + ], + "id": 477, + "name": "VariableDeclaration", + "src": "10955:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 478, + "name": "Literal", + "src": "10964:1:0" + } + ], + "id": 479, + "name": "VariableDeclarationStatement", + "src": "10955:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 480, + "name": "Identifier", + "src": "10967:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 481, + "name": "Identifier", + "src": "10971:7:0" + } + ], + "id": 482, + "name": "MemberAccess", + "src": "10971:14:0" + } + ], + "id": 483, + "name": "BinaryOperation", + "src": "10967:18:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 484, + "name": "Identifier", + "src": "10987:1:0" + } + ], + "id": 485, + "name": "UnaryOperation", + "src": "10987:3:0" + } + ], + "id": 486, + "name": "ExpressionStatement", + "src": "10987:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 487, + "name": "Identifier", + "src": "11004:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 488, + "name": "Identifier", + "src": "11012:1:0" + } + ], + "id": 489, + "name": "IndexAccess", + "src": "11004:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 471, + "type": "address", + "value": "signer" + }, + "id": 490, + "name": "Identifier", + "src": "11018:6:0" + } + ], + "id": 491, + "name": "BinaryOperation", + "src": "11004:20:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 492, + "name": "Literal", + "src": "11043:4:0" + } + ], + "id": 493, + "name": "Return", + "src": "11036:11:0" + } + ], + "id": 494, + "name": "Block", + "src": "11026:30:0" + } + ], + "id": 495, + "name": "IfStatement", + "src": "11000:56:0" + } + ], + "id": 496, + "name": "Block", + "src": "10992:70:0" + } + ], + "id": 497, + "name": "ForStatement", + "src": "10950:112:0" + }, + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 498, + "name": "Literal", + "src": "11074:5:0" + } + ], + "id": 499, + "name": "Return", + "src": "11067:12:0" + } + ], + "id": 500, + "name": "Block", + "src": "10891:193:0" + } + ], + "id": 501, + "name": "FunctionDefinition", + "src": "10842:242:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "recoverAddressFromSignature", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 502, + "name": "ElementaryTypeName", + "src": "11455:7:0" + } + ], + "id": 503, + "name": "VariableDeclaration", + "src": "11455:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 504, + "name": "ElementaryTypeName", + "src": "11478:5:0" + } + ], + "id": 505, + "name": "VariableDeclaration", + "src": "11478:15:0" + } + ], + "id": 506, + "name": "ParameterList", + "src": "11454:40:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 507, + "name": "ElementaryTypeName", + "src": "11512:7:0" + } + ], + "id": 508, + "name": "VariableDeclaration", + "src": "11512:7:0" + } + ], + "id": 509, + "name": "ParameterList", + "src": "11511:9:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 505, + "type": "bytes memory", + "value": "signature" + }, + "id": 510, + "name": "Identifier", + "src": "11531:9:0" + } + ], + "id": 511, + "name": "MemberAccess", + "src": "11531:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3635", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 65", + "value": "65" + }, + "id": 512, + "name": "Literal", + "src": "11551:2:0" + } + ], + "id": 513, + "name": "BinaryOperation", + "src": "11531:22:0" + }, + { + "children": [ + { + "children": [], + "id": 514, + "name": "Throw", + "src": "11563:5:0" + } + ], + "id": 515, + "name": "Block", + "src": "11555:20:0" + } + ], + "id": 516, + "name": "IfStatement", + "src": "11527:48:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "r", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 517, + "name": "ElementaryTypeName", + "src": "11675:7:0" + } + ], + "id": 518, + "name": "VariableDeclaration", + "src": "11675:9:0" + } + ], + "id": 519, + "name": "VariableDeclarationStatement", + "src": "11675:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "s", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 520, + "name": "ElementaryTypeName", + "src": "11690:7:0" + } + ], + "id": 521, + "name": "VariableDeclaration", + "src": "11690:9:0" + } + ], + "id": 522, + "name": "VariableDeclarationStatement", + "src": "11690:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "v", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "uint8", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" + }, + "id": 523, + "name": "ElementaryTypeName", + "src": "11705:5:0" + } + ], + "id": 524, + "name": "VariableDeclaration", + "src": "11705:7:0" + } + ], + "id": 525, + "name": "VariableDeclarationStatement", + "src": "11705:7:0" + }, + { + "attributes": { + "externalReferences": [ + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11750:9:0", + "valueSize": 1 + } + }, + { + "r": { + "declaration": 518, + "isOffset": false, + "isSlot": false, + "src": "11735:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11787:9:0", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 521, + "isOffset": false, + "isSlot": false, + "src": "11772:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11828:9:0", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 524, + "isOffset": false, + "isSlot": false, + "src": "11809:1:0", + "valueSize": 1 + } + } + ], + "operations": "{\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n}" + }, + "children": [], + "id": 526, + "name": "InlineAssembly", + "src": "11718:144:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 527, + "name": "Identifier", + "src": "11864:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 528, + "name": "Literal", + "src": "11868:2:0" + } + ], + "id": 529, + "name": "BinaryOperation", + "src": "11864:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint8" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 530, + "name": "Identifier", + "src": "11880:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 531, + "name": "Literal", + "src": "11885:2:0" + } + ], + "id": 532, + "name": "Assignment", + "src": "11880:7:0" + } + ], + "id": 533, + "name": "ExpressionStatement", + "src": "11880:7:0" + } + ], + "id": 534, + "name": "Block", + "src": "11872:117:0" + } + ], + "id": 535, + "name": "IfStatement", + "src": "11860:129:0" + }, + { + "attributes": { + "functionReturnParameters": 509 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 659, + "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", + "value": "ecrecover" + }, + "id": 536, + "name": "Identifier", + "src": "12001:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 503, + "type": "bytes32", + "value": "operationHash" + }, + "id": 537, + "name": "Identifier", + "src": "12011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 538, + "name": "Identifier", + "src": "12026:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 518, + "type": "bytes32", + "value": "r" + }, + "id": 539, + "name": "Identifier", + "src": "12029:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 521, + "type": "bytes32", + "value": "s" + }, + "id": 540, + "name": "Identifier", + "src": "12032:1:0" + } + ], + "id": 541, + "name": "FunctionCall", + "src": "12001:33:0" + } + ], + "id": 542, + "name": "Return", + "src": "11994:40:0" + } + ], + "id": 543, + "name": "Block", + "src": "11521:518:0" + } + ], + "id": 544, + "name": "FunctionDefinition", + "src": "11418:621:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "tryInsertSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 545, + "name": "ElementaryTypeName", + "src": "12427:4:0" + } + ], + "id": 546, + "name": "VariableDeclaration", + "src": "12427:15:0" + } + ], + "id": 547, + "name": "ParameterList", + "src": "12426:17:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 550, + "name": "ParameterList", + "src": "12463:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 548, + "name": "Identifier", + "src": "12444:10:0" + } + ], + "id": 549, + "name": "ModifierInvocation", + "src": "12444:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 552 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "lowestValueIndex", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 551, + "name": "ElementaryTypeName", + "src": "12533:4:0" + } + ], + "id": 552, + "name": "VariableDeclaration", + "src": "12533:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 553, + "name": "Literal", + "src": "12557:1:0" + } + ], + "id": 554, + "name": "VariableDeclarationStatement", + "src": "12533:25:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 556 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 555, + "name": "ElementaryTypeName", + "src": "12569:4:0" + } + ], + "id": 556, + "name": "VariableDeclaration", + "src": "12569:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 557, + "name": "Literal", + "src": "12578:1:0" + } + ], + "id": 558, + "name": "VariableDeclarationStatement", + "src": "12569:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 559, + "name": "Identifier", + "src": "12581:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 560, + "name": "Identifier", + "src": "12585:23:0" + } + ], + "id": 561, + "name": "BinaryOperation", + "src": "12581:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 562, + "name": "Identifier", + "src": "12610:1:0" + } + ], + "id": 563, + "name": "UnaryOperation", + "src": "12610:3:0" + } + ], + "id": 564, + "name": "ExpressionStatement", + "src": "12610:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 565, + "name": "Identifier", + "src": "12627:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 566, + "name": "Identifier", + "src": "12645:1:0" + } + ], + "id": 567, + "name": "IndexAccess", + "src": "12627:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 568, + "name": "Identifier", + "src": "12651:10:0" + } + ], + "id": 569, + "name": "BinaryOperation", + "src": "12627:34:0" + }, + { + "children": [ + { + "children": [], + "id": 570, + "name": "Throw", + "src": "12733:5:0" + } + ], + "id": 571, + "name": "Block", + "src": "12663:84:0" + } + ], + "id": 572, + "name": "IfStatement", + "src": "12623:124:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 573, + "name": "Identifier", + "src": "12758:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 574, + "name": "Identifier", + "src": "12776:1:0" + } + ], + "id": 575, + "name": "IndexAccess", + "src": "12758:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 576, + "name": "Identifier", + "src": "12781:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 577, + "name": "Identifier", + "src": "12799:16:0" + } + ], + "id": 578, + "name": "IndexAccess", + "src": "12781:35:0" + } + ], + "id": 579, + "name": "BinaryOperation", + "src": "12758:58:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 580, + "name": "Identifier", + "src": "12828:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 581, + "name": "Identifier", + "src": "12847:1:0" + } + ], + "id": 582, + "name": "Assignment", + "src": "12828:20:0" + } + ], + "id": 583, + "name": "ExpressionStatement", + "src": "12828:20:0" + } + ], + "id": 584, + "name": "Block", + "src": "12818:39:0" + } + ], + "id": 585, + "name": "IfStatement", + "src": "12754:103:0" + } + ], + "id": 586, + "name": "Block", + "src": "12615:248:0" + } + ], + "id": 587, + "name": "ForStatement", + "src": "12564:299:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 588, + "name": "Identifier", + "src": "12872:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 589, + "name": "Identifier", + "src": "12885:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 590, + "name": "Identifier", + "src": "12903:16:0" + } + ], + "id": 591, + "name": "IndexAccess", + "src": "12885:35:0" + } + ], + "id": 592, + "name": "BinaryOperation", + "src": "12872:48:0" + }, + { + "children": [ + { + "children": [], + "id": 593, + "name": "Throw", + "src": "13075:5:0" + } + ], + "id": 594, + "name": "Block", + "src": "12922:165:0" + } + ], + "id": 595, + "name": "IfStatement", + "src": "12868:219:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 596, + "name": "Identifier", + "src": "13096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 597, + "name": "Identifier", + "src": "13110:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 598, + "name": "Identifier", + "src": "13128:16:0" + } + ], + "id": 599, + "name": "IndexAccess", + "src": "13110:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130303030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10000", + "value": "10000" + }, + "id": 600, + "name": "Literal", + "src": "13148:5:0" + } + ], + "id": 601, + "name": "BinaryOperation", + "src": "13110:43:0" + } + ], + "id": 602, + "name": "TupleExpression", + "src": "13109:45:0" + } + ], + "id": 603, + "name": "BinaryOperation", + "src": "13096:58:0" + }, + { + "children": [ + { + "children": [], + "id": 604, + "name": "Throw", + "src": "13329:5:0" + } + ], + "id": 605, + "name": "Block", + "src": "13156:185:0" + } + ], + "id": 606, + "name": "IfStatement", + "src": "13092:249:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 607, + "name": "Identifier", + "src": "13346:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 608, + "name": "Identifier", + "src": "13364:16:0" + } + ], + "id": 609, + "name": "IndexAccess", + "src": "13346:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 610, + "name": "Identifier", + "src": "13384:10:0" + } + ], + "id": 611, + "name": "Assignment", + "src": "13346:48:0" + } + ], + "id": 612, + "name": "ExpressionStatement", + "src": "13346:48:0" + } + ], + "id": 613, + "name": "Block", + "src": "12463:936:0" + } + ], + "id": 614, + "name": "FunctionDefinition", + "src": "12398:1001:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNextSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 615, + "name": "ParameterList", + "src": "13596:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 616, + "name": "ElementaryTypeName", + "src": "13608:4:0" + } + ], + "id": 617, + "name": "VariableDeclaration", + "src": "13608:4:0" + } + ], + "id": 618, + "name": "ParameterList", + "src": "13607:6:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 620 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "highestSequenceId", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 619, + "name": "ElementaryTypeName", + "src": "13620:4:0" + } + ], + "id": 620, + "name": "VariableDeclaration", + "src": "13620:22:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 621, + "name": "Literal", + "src": "13645:1:0" + } + ], + "id": 622, + "name": "VariableDeclarationStatement", + "src": "13620:26:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 624 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 623, + "name": "ElementaryTypeName", + "src": "13657:4:0" + } + ], + "id": 624, + "name": "VariableDeclaration", + "src": "13657:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 625, + "name": "Literal", + "src": "13666:1:0" + } + ], + "id": 626, + "name": "VariableDeclarationStatement", + "src": "13657:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 627, + "name": "Identifier", + "src": "13669:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 628, + "name": "Identifier", + "src": "13673:23:0" + } + ], + "id": 629, + "name": "BinaryOperation", + "src": "13669:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 630, + "name": "Identifier", + "src": "13698:1:0" + } + ], + "id": 631, + "name": "UnaryOperation", + "src": "13698:3:0" + } + ], + "id": 632, + "name": "ExpressionStatement", + "src": "13698:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 633, + "name": "Identifier", + "src": "13715:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 634, + "name": "Identifier", + "src": "13733:1:0" + } + ], + "id": 635, + "name": "IndexAccess", + "src": "13715:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 636, + "name": "Identifier", + "src": "13738:17:0" + } + ], + "id": 637, + "name": "BinaryOperation", + "src": "13715:40:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 638, + "name": "Identifier", + "src": "13767:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 639, + "name": "Identifier", + "src": "13787:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 640, + "name": "Identifier", + "src": "13805:1:0" + } + ], + "id": 641, + "name": "IndexAccess", + "src": "13787:20:0" + } + ], + "id": 642, + "name": "Assignment", + "src": "13767:40:0" + } + ], + "id": 643, + "name": "ExpressionStatement", + "src": "13767:40:0" + } + ], + "id": 644, + "name": "Block", + "src": "13757:59:0" + } + ], + "id": 645, + "name": "IfStatement", + "src": "13711:105:0" + } + ], + "id": 646, + "name": "Block", + "src": "13703:119:0" + } + ], + "id": 647, + "name": "ForStatement", + "src": "13652:170:0" + }, + { + "attributes": { + "functionReturnParameters": 618 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 648, + "name": "Identifier", + "src": "13834:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 649, + "name": "Literal", + "src": "13854:1:0" + } + ], + "id": 650, + "name": "BinaryOperation", + "src": "13834:21:0" + } + ], + "id": 651, + "name": "Return", + "src": "13827:28:0" + } + ], + "id": 652, + "name": "Block", + "src": "13614:246:0" + } + ], + "id": 653, + "name": "FunctionDefinition", + "src": "13570:290:0" + } + ], + "id": 654, + "name": "ContractDefinition", + "src": "2615:11247:0" + } + ], + "id": 655, + "name": "SourceUnit", + "src": "0:13862:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T05:15:19.154Z" +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json new file mode 100644 index 0000000..da252d2 --- /dev/null +++ b/build/contracts/Migrations.json @@ -0,0 +1,629 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "newAddress", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastCompletedMigration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061047e806100536000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f010146100725780638da5cb5b146100ab578063f2fde38b14610100578063fbdbad3c14610139578063fdacd57614610162575b600080fd5b341561007d57600080fd5b6100a9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610185565b005b34156100b657600080fd5b6100be61026d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561010b57600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610292565b005b341561014457600080fd5b61014c6103e7565b6040518082815260200191505060405180910390f35b341561016d57600080fd5b61018360048080359060200190919050506103ed565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101e257600080fd5b8190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561025557600080fd5b6102c65a03f1151561026657600080fd5b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561032957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561044857600080fd5b80600181905550505600a165627a7a7230582037866e4042d2e6ef84a2c4241354e4ceb81da00f536e62b0c0e260573f3e69da0029", + "deployedBytecode": "0x60606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f010146100725780638da5cb5b146100ab578063f2fde38b14610100578063fbdbad3c14610139578063fdacd57614610162575b600080fd5b341561007d57600080fd5b6100a9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610185565b005b34156100b657600080fd5b6100be61026d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561010b57600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610292565b005b341561014457600080fd5b61014c6103e7565b6040518082815260200191505060405180910390f35b341561016d57600080fd5b61018360048080359060200190919050506103ed565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101e257600080fd5b8190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561025557600080fd5b6102c65a03f1151561026657600080fd5b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561032957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561044857600080fd5b80600181905550505600a165627a7a7230582037866e4042d2e6ef84a2c4241354e4ceb81da00f536e62b0c0e260573f3e69da0029", + "sourceMap": "223:346:4:-;;;509:10:14;501:5;;:18;;;;;;;;;;;;;;;;;;223:346:4;;;;;;", + "deployedSourceMap": "223:346:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;258:37:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;300:103;;;;;;;;;;;;;;;;;;;;;;;;;;407:160;467:19;654:5:14;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;500:10:4;467:44;;517:8;:21;;;539:22;;517:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:160;;:::o;238:20:14:-;;;;;;;;;;;;;:::o;834:169::-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;258:37:4:-;;;;:::o;300:103::-;654:5:14;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;389:9:4;364:22;:34;;;;300:103;:::o", + "source": "pragma solidity ^0.4.18;\n\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n\n/**\n * @title Migrations\n * @dev This is a truffle contract, needed for truffle integration, not meant for use by Zeppelin users.\n */\ncontract Migrations is Ownable {\n uint256 public lastCompletedMigration;\n\n function setCompleted(uint256 completed) onlyOwner public {\n lastCompletedMigration = completed;\n }\n\n function upgrade(address newAddress) onlyOwner public {\n Migrations upgraded = Migrations(newAddress);\n upgraded.setCompleted(lastCompletedMigration);\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/Migrations.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 1064 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1026, + "name": "PragmaDirective", + "src": "0:24:4" + }, + { + "attributes": { + "SourceUnit": 2034, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 1065, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1027, + "name": "ImportDirective", + "src": "27:59:4" + }, + { + "attributes": { + "contractDependencies": [ + 2033 + ], + "contractKind": "contract", + "documentation": "@title Migrations\n@dev This is a truffle contract, needed for truffle integration, not meant for use by Zeppelin users.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1064, + 2033 + ], + "name": "Migrations", + "scope": 1065 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 2033, + "type": "contract Ownable" + }, + "id": 1028, + "name": "UserDefinedTypeName", + "src": "246:7:4" + } + ], + "id": 1029, + "name": "InheritanceSpecifier", + "src": "246:7:4" + }, + { + "attributes": { + "constant": false, + "name": "lastCompletedMigration", + "scope": 1064, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1030, + "name": "ElementaryTypeName", + "src": "258:7:4" + } + ], + "id": 1031, + "name": "VariableDeclaration", + "src": "258:37:4" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setCompleted", + "payable": false, + "scope": 1064, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "completed", + "scope": 1043, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1032, + "name": "ElementaryTypeName", + "src": "322:7:4" + } + ], + "id": 1033, + "name": "VariableDeclaration", + "src": "322:17:4" + } + ], + "id": 1034, + "name": "ParameterList", + "src": "321:19:4" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1037, + "name": "ParameterList", + "src": "358:0:4" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2007, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1035, + "name": "Identifier", + "src": "341:9:4" + } + ], + "id": 1036, + "name": "ModifierInvocation", + "src": "341:9:4" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1031, + "type": "uint256", + "value": "lastCompletedMigration" + }, + "id": 1038, + "name": "Identifier", + "src": "364:22:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1033, + "type": "uint256", + "value": "completed" + }, + "id": 1039, + "name": "Identifier", + "src": "389:9:4" + } + ], + "id": 1040, + "name": "Assignment", + "src": "364:34:4" + } + ], + "id": 1041, + "name": "ExpressionStatement", + "src": "364:34:4" + } + ], + "id": 1042, + "name": "Block", + "src": "358:45:4" + } + ], + "id": 1043, + "name": "FunctionDefinition", + "src": "300:103:4" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "upgrade", + "payable": false, + "scope": 1064, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "newAddress", + "scope": 1063, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1044, + "name": "ElementaryTypeName", + "src": "424:7:4" + } + ], + "id": 1045, + "name": "VariableDeclaration", + "src": "424:18:4" + } + ], + "id": 1046, + "name": "ParameterList", + "src": "423:20:4" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1049, + "name": "ParameterList", + "src": "461:0:4" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2007, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1047, + "name": "Identifier", + "src": "444:9:4" + } + ], + "id": 1048, + "name": "ModifierInvocation", + "src": "444:9:4" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1051 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "upgraded", + "scope": 1063, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Migrations", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Migrations", + "referencedDeclaration": 1064, + "type": "contract Migrations" + }, + "id": 1050, + "name": "UserDefinedTypeName", + "src": "467:10:4" + } + ], + "id": 1051, + "name": "VariableDeclaration", + "src": "467:19:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Migrations", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1064, + "type": "type(contract Migrations)", + "value": "Migrations" + }, + "id": 1052, + "name": "Identifier", + "src": "489:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1045, + "type": "address", + "value": "newAddress" + }, + "id": 1053, + "name": "Identifier", + "src": "500:10:4" + } + ], + "id": 1054, + "name": "FunctionCall", + "src": "489:22:4" + } + ], + "id": 1055, + "name": "VariableDeclarationStatement", + "src": "467:44:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "setCompleted", + "referencedDeclaration": 1043, + "type": "function (uint256) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1051, + "type": "contract Migrations", + "value": "upgraded" + }, + "id": 1056, + "name": "Identifier", + "src": "517:8:4" + } + ], + "id": 1058, + "name": "MemberAccess", + "src": "517:21:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1031, + "type": "uint256", + "value": "lastCompletedMigration" + }, + "id": 1059, + "name": "Identifier", + "src": "539:22:4" + } + ], + "id": 1060, + "name": "FunctionCall", + "src": "517:45:4" + } + ], + "id": 1061, + "name": "ExpressionStatement", + "src": "517:45:4" + } + ], + "id": 1062, + "name": "Block", + "src": "461:106:4" + } + ], + "id": 1063, + "name": "FunctionDefinition", + "src": "407:160:4" + } + ], + "id": 1064, + "name": "ContractDefinition", + "src": "223:346:4" + } + ], + "id": 1065, + "name": "SourceUnit", + "src": "0:570:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T01:34:11.521Z" +} \ No newline at end of file diff --git a/build/contracts/MintableToken.json b/build/contracts/MintableToken.json new file mode 100644 index 0000000..99f2062 --- /dev/null +++ b/build/contracts/MintableToken.json @@ -0,0 +1,1668 @@ +{ + "contractName": "MintableToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "mintingFinished", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finishMinting", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "MintFinished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x60606040526000600360146101000a81548160ff02191690831515021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ab8061006f6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820af48bd40faa44440bb8a48abc63f938af4fbd5d4ef6cb8e9d0d5b606cd207b4d0029", + "deployedBytecode": "0x6060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146100ca578063095ea7b3146100f757806318160ddd1461015157806323b872dd1461017a57806340c10f19146101f3578063661884631461024d57806370a08231146102a75780637d64bcb4146102f45780638da5cb5b14610321578063a9059cbb14610376578063d73dd623146103d0578063dd62ed3e1461042a578063f2fde38b14610496575b600080fd5b34156100d557600080fd5b6100dd6104cf565b604051808215151515815260200191505060405180910390f35b341561010257600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506104e2565b604051808215151515815260200191505060405180910390f35b341561015c57600080fd5b6101646105d4565b6040518082815260200191505060405180910390f35b341561018557600080fd5b6101d9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105da565b604051808215151515815260200191505060405180910390f35b34156101fe57600080fd5b610233600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610999565b604051808215151515815260200191505060405180910390f35b341561025857600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b81565b604051808215151515815260200191505060405180910390f35b34156102b257600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e12565b6040518082815260200191505060405180910390f35b34156102ff57600080fd5b610307610e5b565b604051808215151515815260200191505060405180910390f35b341561032c57600080fd5b610334610f23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038157600080fd5b6103b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f49565b604051808215151515815260200191505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116d565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b610480600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611369565b6040518082815260200191505060405180910390f35b34156104a157600080fd5b6104cd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113f0565b005b600360149054906101000a900460ff1681565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561061757600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561066557600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106f057600080fd5b61074282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107d782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a982600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f757600080fd5b600360149054906101000a900460ff16151515610a1357600080fd5b610a288260005461156190919063ffffffff16565b600081905550610a8082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610c92576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d26565b610ca5838261154890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb957600080fd5b600360149054906101000a900460ff16151515610ed557600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f8657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610fd457600080fd5b61102682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110bb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006111fe82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461156190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561148857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561155657fe5b818303905092915050565b600080828401905083811015151561157557fe5b80915050929150505600a165627a7a72305820af48bd40faa44440bb8a48abc63f938af4fbd5d4ef6cb8e9d0d5b606cd207b4d0029", + "sourceMap": "375:980:9:-;;;533:5;503:35;;;;;;;;;;;;;;;;;;;;509:10:10;501:5;;:18;;;;;;;;;;;;;;;;;;375:980:9;;;;;;", + "deployedSourceMap": "375:980:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;842:262:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:398:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:107:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:135:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;431:379:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2667:257:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:35:9;;;;;;;;;;;;;:::o;1799:183:12:-;1866:4;1910:6;1878:7;:19;1886:10;1878:19;;;;;;;;;;;;;;;:29;1898:8;1878:29;;;;;;;;;;;;;;;:38;;;;1943:8;1922:38;;1931:10;1922:38;;;1953:6;1922:38;;;;;;;;;;;;;;;;;;1973:4;1966:11;;1799:183;;;;:::o;179:26:7:-;;;;:::o;737:439:12:-;819:4;854:1;839:17;;:3;:17;;;;831:26;;;;;;;;881:8;:15;890:5;881:15;;;;;;;;;;;;;;;;871:6;:25;;863:34;;;;;;;;921:7;:14;929:5;921:14;;;;;;;;;;;;;;;:26;936:10;921:26;;;;;;;;;;;;;;;;911:6;:36;;903:45;;;;;;;;973:27;993:6;973:8;:15;982:5;973:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;955:8;:15;964:5;955:15;;;;;;;;;;;;;;;:45;;;;1022:25;1040:6;1022:8;:13;1031:3;1022:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1006:8;:13;1015:3;1006:13;;;;;;;;;;;;;;;:41;;;;1082:38;1113:6;1082:7;:14;1090:5;1082:14;;;;;;;;;;;;;;;:26;1097:10;1082:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1053:7;:14;1061:5;1053:14;;;;;;;;;;;;;;;:26;1068:10;1053:26;;;;;;;;;;;;;;;:67;;;;1142:3;1126:28;;1135:5;1126:28;;;1147:6;1126:28;;;;;;;;;;;;;;;;;;1167:4;1160:11;;737:439;;;;;:::o;842:262:9:-;920:4;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;578:15:9;;;;;;;;;;;577:16;569:25;;;;;;;;946:24;962:7;946:11;;:15;;:24;;;;:::i;:::-;932:11;:38;;;;992:26;1010:7;992:8;:13;1001:3;992:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;976:8;:13;985:3;976:13;;;;;;;;;;;;;;;:42;;;;1029:3;1024:18;;;1034:7;1024:18;;;;;;;;;;;;;;;;;;1069:3;1048:34;;1065:1;1048:34;;;1074:7;1048:34;;;;;;;;;;;;;;;;;;1095:4;1088:11;;842:262;;;;:::o;2928:398:12:-;3011:4;3023:13;3039:7;:19;3047:10;3039:19;;;;;;;;;;;;;;;:29;3059:8;3039:29;;;;;;;;;;;;;;;;3023:45;;3097:8;3078:16;:27;3074:164;;;3147:1;3115:7;:19;3123:10;3115:19;;;;;;;;;;;;;;;:29;3135:8;3115:29;;;;;;;;;;;;;;;:33;;;;3074:164;;;3201:30;3214:16;3201:8;:12;;:30;;;;:::i;:::-;3169:7;:19;3177:10;3169:19;;;;;;;;;;;;;;;:29;3189:8;3169:29;;;;;;;;;;;;;;;:62;;;;3074:164;3264:8;3243:61;;3252:10;3243:61;;;3274:7;:19;3282:10;3274:19;;;;;;;;;;;;;;;:29;3294:8;3274:29;;;;;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;;;;3317:4;3310:11;;2928:398;;;;;:::o;1012:107:4:-;1068:15;1098:8;:16;1107:6;1098:16;;;;;;;;;;;;;;;;1091:23;;1012:107;;;:::o;1218:135:9:-;1277:4;654:5:10;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;578:15:9;;;;;;;;;;;577:16;569:25;;;;;;;;1307:4;1289:15;;:22;;;;;;;;;;;;;;;;;;1317:14;;;;;;;;;;1344:4;1337:11;;1218:135;:::o;238:20:10:-;;;;;;;;;;;;;:::o;431:379:4:-;494:4;529:1;514:17;;:3;:17;;;;506:26;;;;;;;;556:8;:20;565:10;556:20;;;;;;;;;;;;;;;;546:6;:30;;538:39;;;;;;;;670:32;695:6;670:8;:20;679:10;670:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;647:8;:20;656:10;647:20;;;;;;;;;;;;;;;:55;;;;724:25;742:6;724:8;:13;733:3;724:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;708:8;:13;717:3;708:13;;;;;;;;;;;;;;;:41;;;;776:3;755:33;;764:10;755:33;;;781:6;755:33;;;;;;;;;;;;;;;;;;801:4;794:11;;431:379;;;;:::o;2667:257:12:-;2745:4;2789:46;2823:11;2789:7;:19;2797:10;2789:19;;;;;;;;;;;;;;;:29;2809:8;2789:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2757:7;:19;2765:10;2757:19;;;;;;;;;;;;;;;:29;2777:8;2757:29;;;;;;;;;;;;;;;:78;;;;2862:8;2841:61;;2850:10;2841:61;;;2872:7;:19;2880:10;2872:19;;;;;;;;;;;;;;;:29;2892:8;2872:29;;;;;;;;;;;;;;;;2841:61;;;;;;;;;;;;;;;;;;2915:4;2908:11;;2667:257;;;;:::o;2301:126::-;2375:7;2397;:15;2405:6;2397:15;;;;;;;;;;;;;;;:25;2413:8;2397:25;;;;;;;;;;;;;;;;2390:32;;2301:126;;;;:::o;834:169:10:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;584:110:11:-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\n\nimport './StandardToken.sol';\nimport './Ownable.sol';\n\n\n\n/**\n * @title Mintable token\n * @dev Simple ERC20 Token example, with mintable token creation\n * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\n * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol\n */\n\ncontract MintableToken is StandardToken, Ownable {\n event Mint(address indexed to, uint256 amount);\n event MintFinished();\n\n bool public mintingFinished = false;\n\n\n modifier canMint() {\n require(!mintingFinished);\n _;\n }\n\n /**\n * @dev Function to mint tokens\n * @param _to The address that will receive the minted tokens.\n * @param _amount The amount of tokens to mint.\n * @return A boolean that indicates if the operation was successful.\n */\n function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {\n totalSupply = totalSupply.add(_amount);\n balances[_to] = balances[_to].add(_amount);\n Mint(_to, _amount);\n Transfer(address(0), _to, _amount);\n return true;\n }\n\n /**\n * @dev Function to stop minting new tokens.\n * @return True if the operation was successful.\n */\n function finishMinting() onlyOwner canMint public returns (bool) {\n mintingFinished = true;\n MintFinished();\n return true;\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/MintableToken.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/MintableToken.sol", + "exportedSymbols": { + "MintableToken": [ + 1537 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1444, + "name": "PragmaDirective", + "src": "0:24:9" + }, + { + "attributes": { + "SourceUnit": 1938, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/StandardToken.sol", + "file": "./StandardToken.sol", + "scope": 1538, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1445, + "name": "ImportDirective", + "src": "27:29:9" + }, + { + "attributes": { + "SourceUnit": 1594, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "file": "./Ownable.sol", + "scope": 1538, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1446, + "name": "ImportDirective", + "src": "57:23:9" + }, + { + "attributes": { + "contractDependencies": [ + 1110, + 1365, + 1394, + 1593, + 1937 + ], + "contractKind": "contract", + "documentation": "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1537, + 1593, + 1937, + 1110, + 1365, + 1394 + ], + "name": "MintableToken", + "scope": 1538 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 1937, + "type": "contract StandardToken" + }, + "id": 1447, + "name": "UserDefinedTypeName", + "src": "401:13:9" + } + ], + "id": 1448, + "name": "InheritanceSpecifier", + "src": "401:13:9" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 1593, + "type": "contract Ownable" + }, + "id": 1449, + "name": "UserDefinedTypeName", + "src": "416:7:9" + } + ], + "id": 1450, + "name": "InheritanceSpecifier", + "src": "416:7:9" + }, + { + "attributes": { + "anonymous": false, + "name": "Mint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "to", + "scope": 1456, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1451, + "name": "ElementaryTypeName", + "src": "439:7:9" + } + ], + "id": 1452, + "name": "VariableDeclaration", + "src": "439:18:9" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "amount", + "scope": 1456, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1453, + "name": "ElementaryTypeName", + "src": "459:7:9" + } + ], + "id": 1454, + "name": "VariableDeclaration", + "src": "459:14:9" + } + ], + "id": 1455, + "name": "ParameterList", + "src": "438:36:9" + } + ], + "id": 1456, + "name": "EventDefinition", + "src": "428:47:9" + }, + { + "attributes": { + "anonymous": false, + "name": "MintFinished" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1457, + "name": "ParameterList", + "src": "496:2:9" + } + ], + "id": 1458, + "name": "EventDefinition", + "src": "478:21:9" + }, + { + "attributes": { + "constant": false, + "name": "mintingFinished", + "scope": 1537, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1459, + "name": "ElementaryTypeName", + "src": "503:4:9" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 1460, + "name": "Literal", + "src": "533:5:9" + } + ], + "id": 1461, + "name": "VariableDeclaration", + "src": "503:35:9" + }, + { + "attributes": { + "name": "canMint", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1462, + "name": "ParameterList", + "src": "560:2:9" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1463, + "name": "Identifier", + "src": "569:7:9" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1461, + "type": "bool", + "value": "mintingFinished" + }, + "id": 1464, + "name": "Identifier", + "src": "578:15:9" + } + ], + "id": 1465, + "name": "UnaryOperation", + "src": "577:16:9" + } + ], + "id": 1466, + "name": "FunctionCall", + "src": "569:25:9" + } + ], + "id": 1467, + "name": "ExpressionStatement", + "src": "569:25:9" + }, + { + "id": 1468, + "name": "PlaceholderStatement", + "src": "600:1:9" + } + ], + "id": 1469, + "name": "Block", + "src": "563:43:9" + } + ], + "id": 1470, + "name": "ModifierDefinition", + "src": "544:62:9" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "mint", + "payable": false, + "scope": 1537, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 1517, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1471, + "name": "ElementaryTypeName", + "src": "856:7:9" + } + ], + "id": 1472, + "name": "VariableDeclaration", + "src": "856:11:9" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 1517, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1473, + "name": "ElementaryTypeName", + "src": "869:7:9" + } + ], + "id": 1474, + "name": "VariableDeclaration", + "src": "869:15:9" + } + ], + "id": 1475, + "name": "ParameterList", + "src": "855:30:9" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1517, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1480, + "name": "ElementaryTypeName", + "src": "920:4:9" + } + ], + "id": 1481, + "name": "VariableDeclaration", + "src": "920:4:9" + } + ], + "id": 1482, + "name": "ParameterList", + "src": "919:6:9" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1476, + "name": "Identifier", + "src": "886:9:9" + } + ], + "id": 1477, + "name": "ModifierInvocation", + "src": "886:9:9" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1470, + "type": "modifier ()", + "value": "canMint" + }, + "id": 1478, + "name": "Identifier", + "src": "896:7:9" + } + ], + "id": 1479, + "name": "ModifierInvocation", + "src": "896:7:9" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1369, + "type": "uint256", + "value": "totalSupply" + }, + "id": 1483, + "name": "Identifier", + "src": "932:11:9" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1369, + "type": "uint256", + "value": "totalSupply" + }, + "id": 1484, + "name": "Identifier", + "src": "946:11:9" + } + ], + "id": 1485, + "name": "MemberAccess", + "src": "946:15:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "uint256", + "value": "_amount" + }, + "id": 1486, + "name": "Identifier", + "src": "962:7:9" + } + ], + "id": 1487, + "name": "FunctionCall", + "src": "946:24:9" + } + ], + "id": 1488, + "name": "Assignment", + "src": "932:38:9" + } + ], + "id": 1489, + "name": "ExpressionStatement", + "src": "932:38:9" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1490, + "name": "Identifier", + "src": "976:8:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1472, + "type": "address", + "value": "_to" + }, + "id": 1491, + "name": "Identifier", + "src": "985:3:9" + } + ], + "id": 1492, + "name": "IndexAccess", + "src": "976:13:9" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1493, + "name": "Identifier", + "src": "992:8:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1472, + "type": "address", + "value": "_to" + }, + "id": 1494, + "name": "Identifier", + "src": "1001:3:9" + } + ], + "id": 1495, + "name": "IndexAccess", + "src": "992:13:9" + } + ], + "id": 1496, + "name": "MemberAccess", + "src": "992:17:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "uint256", + "value": "_amount" + }, + "id": 1497, + "name": "Identifier", + "src": "1010:7:9" + } + ], + "id": 1498, + "name": "FunctionCall", + "src": "992:26:9" + } + ], + "id": 1499, + "name": "Assignment", + "src": "976:42:9" + } + ], + "id": 1500, + "name": "ExpressionStatement", + "src": "976:42:9" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1456, + "type": "function (address,uint256)", + "value": "Mint" + }, + "id": 1501, + "name": "Identifier", + "src": "1024:4:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1472, + "type": "address", + "value": "_to" + }, + "id": 1502, + "name": "Identifier", + "src": "1029:3:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "uint256", + "value": "_amount" + }, + "id": 1503, + "name": "Identifier", + "src": "1034:7:9" + } + ], + "id": 1504, + "name": "FunctionCall", + "src": "1024:18:9" + } + ], + "id": 1505, + "name": "ExpressionStatement", + "src": "1024:18:9" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1393, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 1506, + "name": "Identifier", + "src": "1048:8:9" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1507, + "name": "ElementaryTypeNameExpression", + "src": "1057:7:9" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1508, + "name": "Literal", + "src": "1065:1:9" + } + ], + "id": 1509, + "name": "FunctionCall", + "src": "1057:10:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1472, + "type": "address", + "value": "_to" + }, + "id": 1510, + "name": "Identifier", + "src": "1069:3:9" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "uint256", + "value": "_amount" + }, + "id": 1511, + "name": "Identifier", + "src": "1074:7:9" + } + ], + "id": 1512, + "name": "FunctionCall", + "src": "1048:34:9" + } + ], + "id": 1513, + "name": "ExpressionStatement", + "src": "1048:34:9" + }, + { + "attributes": { + "functionReturnParameters": 1482 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1514, + "name": "Literal", + "src": "1095:4:9" + } + ], + "id": 1515, + "name": "Return", + "src": "1088:11:9" + } + ], + "id": 1516, + "name": "Block", + "src": "926:178:9" + } + ], + "id": 1517, + "name": "FunctionDefinition", + "src": "842:262:9" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "finishMinting", + "payable": false, + "scope": 1537, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1518, + "name": "ParameterList", + "src": "1240:2:9" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1536, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1523, + "name": "ElementaryTypeName", + "src": "1277:4:9" + } + ], + "id": 1524, + "name": "VariableDeclaration", + "src": "1277:4:9" + } + ], + "id": 1525, + "name": "ParameterList", + "src": "1276:6:9" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1519, + "name": "Identifier", + "src": "1243:9:9" + } + ], + "id": 1520, + "name": "ModifierInvocation", + "src": "1243:9:9" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1470, + "type": "modifier ()", + "value": "canMint" + }, + "id": 1521, + "name": "Identifier", + "src": "1253:7:9" + } + ], + "id": 1522, + "name": "ModifierInvocation", + "src": "1253:7:9" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1461, + "type": "bool", + "value": "mintingFinished" + }, + "id": 1526, + "name": "Identifier", + "src": "1289:15:9" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1527, + "name": "Literal", + "src": "1307:4:9" + } + ], + "id": 1528, + "name": "Assignment", + "src": "1289:22:9" + } + ], + "id": 1529, + "name": "ExpressionStatement", + "src": "1289:22:9" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1458, + "type": "function ()", + "value": "MintFinished" + }, + "id": 1530, + "name": "Identifier", + "src": "1317:12:9" + } + ], + "id": 1531, + "name": "FunctionCall", + "src": "1317:14:9" + } + ], + "id": 1532, + "name": "ExpressionStatement", + "src": "1317:14:9" + }, + { + "attributes": { + "functionReturnParameters": 1525 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1533, + "name": "Literal", + "src": "1344:4:9" + } + ], + "id": 1534, + "name": "Return", + "src": "1337:11:9" + } + ], + "id": 1535, + "name": "Block", + "src": "1283:70:9" + } + ], + "id": 1536, + "name": "FunctionDefinition", + "src": "1218:135:9" + } + ], + "id": 1537, + "name": "ContractDefinition", + "src": "375:980:9" + } + ], + "id": 1538, + "name": "SourceUnit", + "src": "0:1356:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.325Z" +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json new file mode 100644 index 0000000..c004780 --- /dev/null +++ b/build/contracts/Ownable.json @@ -0,0 +1,841 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582008a9521393db082271aecab76af53cc544d1927b1e4f0ed6d271f065ec55641b0029", + "deployedBytecode": "0x60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582008a9521393db082271aecab76af53cc544d1927b1e4f0ed6d271f065ec55641b0029", + "sourceMap": "217:789:10:-;;;469:55;;;;;;;;509:10;501:5;;:18;;;;;;;;;;;;;;;;;;217:789;;;;;;", + "deployedSourceMap": "217:789:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20;;;;;;;;;;;;;:::o;834:169::-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o", + "source": "pragma solidity ^0.4.18;\n\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable {\n address public owner;\n\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n function Ownable() public {\n owner = msg.sender;\n }\n\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n require(newOwner != address(0));\n OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1593 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1539, + "name": "PragmaDirective", + "src": "0:24:10" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1593 + ], + "name": "Ownable", + "scope": 1594 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 1593, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1540, + "name": "ElementaryTypeName", + "src": "238:7:10" + } + ], + "id": 1541, + "name": "VariableDeclaration", + "src": "238:20:10" + }, + { + "attributes": { + "anonymous": false, + "name": "OwnershipTransferred" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "previousOwner", + "scope": 1547, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1542, + "name": "ElementaryTypeName", + "src": "291:7:10" + } + ], + "id": 1543, + "name": "VariableDeclaration", + "src": "291:29:10" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "newOwner", + "scope": 1547, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1544, + "name": "ElementaryTypeName", + "src": "322:7:10" + } + ], + "id": 1545, + "name": "VariableDeclaration", + "src": "322:24:10" + } + ], + "id": 1546, + "name": "ParameterList", + "src": "290:57:10" + } + ], + "id": 1547, + "name": "EventDefinition", + "src": "264:84:10" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Ownable", + "payable": false, + "scope": 1593, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1548, + "name": "ParameterList", + "src": "485:2:10" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1549, + "name": "ParameterList", + "src": "495:0:10" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 1550, + "name": "Identifier", + "src": "501:5:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1551, + "name": "Identifier", + "src": "509:3:10" + } + ], + "id": 1552, + "name": "MemberAccess", + "src": "509:10:10" + } + ], + "id": 1553, + "name": "Assignment", + "src": "501:18:10" + } + ], + "id": 1554, + "name": "ExpressionStatement", + "src": "501:18:10" + } + ], + "id": 1555, + "name": "Block", + "src": "495:29:10" + } + ], + "id": 1556, + "name": "FunctionDefinition", + "src": "469:55:10" + }, + { + "attributes": { + "name": "onlyOwner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1557, + "name": "ParameterList", + "src": "623:2:10" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1558, + "name": "Identifier", + "src": "632:7:10" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1559, + "name": "Identifier", + "src": "640:3:10" + } + ], + "id": 1560, + "name": "MemberAccess", + "src": "640:10:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 1561, + "name": "Identifier", + "src": "654:5:10" + } + ], + "id": 1562, + "name": "BinaryOperation", + "src": "640:19:10" + } + ], + "id": 1563, + "name": "FunctionCall", + "src": "632:28:10" + } + ], + "id": 1564, + "name": "ExpressionStatement", + "src": "632:28:10" + }, + { + "id": 1565, + "name": "PlaceholderStatement", + "src": "666:1:10" + } + ], + "id": 1566, + "name": "Block", + "src": "626:46:10" + } + ], + "id": 1567, + "name": "ModifierDefinition", + "src": "605:67:10" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "transferOwnership", + "payable": false, + "scope": 1593, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "newOwner", + "scope": 1592, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1568, + "name": "ElementaryTypeName", + "src": "861:7:10" + } + ], + "id": 1569, + "name": "VariableDeclaration", + "src": "861:16:10" + } + ], + "id": 1570, + "name": "ParameterList", + "src": "860:18:10" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1573, + "name": "ParameterList", + "src": "896:0:10" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1567, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 1571, + "name": "Identifier", + "src": "886:9:10" + } + ], + "id": 1572, + "name": "ModifierInvocation", + "src": "886:9:10" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1574, + "name": "Identifier", + "src": "902:7:10" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1569, + "type": "address", + "value": "newOwner" + }, + "id": 1575, + "name": "Identifier", + "src": "910:8:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1576, + "name": "ElementaryTypeNameExpression", + "src": "922:7:10" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1577, + "name": "Literal", + "src": "930:1:10" + } + ], + "id": 1578, + "name": "FunctionCall", + "src": "922:10:10" + } + ], + "id": 1579, + "name": "BinaryOperation", + "src": "910:22:10" + } + ], + "id": 1580, + "name": "FunctionCall", + "src": "902:31:10" + } + ], + "id": 1581, + "name": "ExpressionStatement", + "src": "902:31:10" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1547, + "type": "function (address,address)", + "value": "OwnershipTransferred" + }, + "id": 1582, + "name": "Identifier", + "src": "939:20:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 1583, + "name": "Identifier", + "src": "960:5:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1569, + "type": "address", + "value": "newOwner" + }, + "id": 1584, + "name": "Identifier", + "src": "967:8:10" + } + ], + "id": 1585, + "name": "FunctionCall", + "src": "939:37:10" + } + ], + "id": 1586, + "name": "ExpressionStatement", + "src": "939:37:10" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1541, + "type": "address", + "value": "owner" + }, + "id": 1587, + "name": "Identifier", + "src": "982:5:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1569, + "type": "address", + "value": "newOwner" + }, + "id": 1588, + "name": "Identifier", + "src": "990:8:10" + } + ], + "id": 1589, + "name": "Assignment", + "src": "982:16:10" + } + ], + "id": 1590, + "name": "ExpressionStatement", + "src": "982:16:10" + } + ], + "id": 1591, + "name": "Block", + "src": "896:107:10" + } + ], + "id": 1592, + "name": "FunctionDefinition", + "src": "834:169:10" + } + ], + "id": 1593, + "name": "ContractDefinition", + "src": "217:789:10" + } + ], + "id": 1594, + "name": "SourceUnit", + "src": "0:1007:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.336Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json new file mode 100644 index 0000000..0df2958 --- /dev/null +++ b/build/contracts/SafeMath.json @@ -0,0 +1,1347 @@ +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a72305820a2fd29d6231ed2e0d7cccd7cc51a9ae874e91d94c9ee38fbe123ccca3e947df90029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a72305820a2fd29d6231ed2e0d7cccd7cc51a9ae874e91d94c9ee38fbe123ccca3e947df90029", + "sourceMap": "117:712:11:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "117:712:11:-;;;;;", + "source": "pragma solidity ^0.4.18;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n uint256 c = a * b;\n assert(c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 1691 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1595, + "name": "PragmaDirective", + "src": "0:24:11" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1691 + ], + "name": "SafeMath", + "scope": 1692 + }, + "children": [ + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "mul", + "payable": false, + "scope": 1691, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 1628, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1596, + "name": "ElementaryTypeName", + "src": "151:7:11" + } + ], + "id": 1597, + "name": "VariableDeclaration", + "src": "151:9:11" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 1628, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1598, + "name": "ElementaryTypeName", + "src": "162:7:11" + } + ], + "id": 1599, + "name": "VariableDeclaration", + "src": "162:9:11" + } + ], + "id": 1600, + "name": "ParameterList", + "src": "150:22:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1628, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1601, + "name": "ElementaryTypeName", + "src": "196:7:11" + } + ], + "id": 1602, + "name": "VariableDeclaration", + "src": "196:7:11" + } + ], + "id": 1603, + "name": "ParameterList", + "src": "195:9:11" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1597, + "type": "uint256", + "value": "a" + }, + "id": 1604, + "name": "Identifier", + "src": "215:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1605, + "name": "Literal", + "src": "220:1:11" + } + ], + "id": 1606, + "name": "BinaryOperation", + "src": "215:6:11" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1603 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1607, + "name": "Literal", + "src": "238:1:11" + } + ], + "id": 1608, + "name": "Return", + "src": "231:8:11" + } + ], + "id": 1609, + "name": "Block", + "src": "223:23:11" + } + ], + "id": 1610, + "name": "IfStatement", + "src": "211:35:11" + }, + { + "attributes": { + "assignments": [ + 1612 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 1628, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1611, + "name": "ElementaryTypeName", + "src": "251:7:11" + } + ], + "id": 1612, + "name": "VariableDeclaration", + "src": "251:9:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1597, + "type": "uint256", + "value": "a" + }, + "id": 1613, + "name": "Identifier", + "src": "263:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1599, + "type": "uint256", + "value": "b" + }, + "id": 1614, + "name": "Identifier", + "src": "267:1:11" + } + ], + "id": 1615, + "name": "BinaryOperation", + "src": "263:5:11" + } + ], + "id": 1616, + "name": "VariableDeclarationStatement", + "src": "251:17:11" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1940, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 1617, + "name": "Identifier", + "src": "274:6:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1612, + "type": "uint256", + "value": "c" + }, + "id": 1618, + "name": "Identifier", + "src": "281:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1597, + "type": "uint256", + "value": "a" + }, + "id": 1619, + "name": "Identifier", + "src": "285:1:11" + } + ], + "id": 1620, + "name": "BinaryOperation", + "src": "281:5:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1599, + "type": "uint256", + "value": "b" + }, + "id": 1621, + "name": "Identifier", + "src": "290:1:11" + } + ], + "id": 1622, + "name": "BinaryOperation", + "src": "281:10:11" + } + ], + "id": 1623, + "name": "FunctionCall", + "src": "274:18:11" + } + ], + "id": 1624, + "name": "ExpressionStatement", + "src": "274:18:11" + }, + { + "attributes": { + "functionReturnParameters": 1603 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1612, + "type": "uint256", + "value": "c" + }, + "id": 1625, + "name": "Identifier", + "src": "305:1:11" + } + ], + "id": 1626, + "name": "Return", + "src": "298:8:11" + } + ], + "id": 1627, + "name": "Block", + "src": "205:106:11" + } + ], + "id": 1628, + "name": "FunctionDefinition", + "src": "138:173:11" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "div", + "payable": false, + "scope": 1691, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 1646, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1629, + "name": "ElementaryTypeName", + "src": "328:7:11" + } + ], + "id": 1630, + "name": "VariableDeclaration", + "src": "328:9:11" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 1646, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1631, + "name": "ElementaryTypeName", + "src": "339:7:11" + } + ], + "id": 1632, + "name": "VariableDeclaration", + "src": "339:9:11" + } + ], + "id": 1633, + "name": "ParameterList", + "src": "327:22:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1646, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1634, + "name": "ElementaryTypeName", + "src": "373:7:11" + } + ], + "id": 1635, + "name": "VariableDeclaration", + "src": "373:7:11" + } + ], + "id": 1636, + "name": "ParameterList", + "src": "372:9:11" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1638 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 1646, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1637, + "name": "ElementaryTypeName", + "src": "462:7:11" + } + ], + "id": 1638, + "name": "VariableDeclaration", + "src": "462:9:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1630, + "type": "uint256", + "value": "a" + }, + "id": 1639, + "name": "Identifier", + "src": "474:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1632, + "type": "uint256", + "value": "b" + }, + "id": 1640, + "name": "Identifier", + "src": "478:1:11" + } + ], + "id": 1641, + "name": "BinaryOperation", + "src": "474:5:11" + } + ], + "id": 1642, + "name": "VariableDeclarationStatement", + "src": "462:17:11" + }, + { + "attributes": { + "functionReturnParameters": 1636 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1638, + "type": "uint256", + "value": "c" + }, + "id": 1643, + "name": "Identifier", + "src": "574:1:11" + } + ], + "id": 1644, + "name": "Return", + "src": "567:8:11" + } + ], + "id": 1645, + "name": "Block", + "src": "382:198:11" + } + ], + "id": 1646, + "name": "FunctionDefinition", + "src": "315:265:11" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "sub", + "payable": false, + "scope": 1691, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 1666, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1647, + "name": "ElementaryTypeName", + "src": "597:7:11" + } + ], + "id": 1648, + "name": "VariableDeclaration", + "src": "597:9:11" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 1666, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1649, + "name": "ElementaryTypeName", + "src": "608:7:11" + } + ], + "id": 1650, + "name": "VariableDeclaration", + "src": "608:9:11" + } + ], + "id": 1651, + "name": "ParameterList", + "src": "596:22:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1666, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1652, + "name": "ElementaryTypeName", + "src": "642:7:11" + } + ], + "id": 1653, + "name": "VariableDeclaration", + "src": "642:7:11" + } + ], + "id": 1654, + "name": "ParameterList", + "src": "641:9:11" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1940, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 1655, + "name": "Identifier", + "src": "657:6:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1650, + "type": "uint256", + "value": "b" + }, + "id": 1656, + "name": "Identifier", + "src": "664:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1648, + "type": "uint256", + "value": "a" + }, + "id": 1657, + "name": "Identifier", + "src": "669:1:11" + } + ], + "id": 1658, + "name": "BinaryOperation", + "src": "664:6:11" + } + ], + "id": 1659, + "name": "FunctionCall", + "src": "657:14:11" + } + ], + "id": 1660, + "name": "ExpressionStatement", + "src": "657:14:11" + }, + { + "attributes": { + "functionReturnParameters": 1654 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1648, + "type": "uint256", + "value": "a" + }, + "id": 1661, + "name": "Identifier", + "src": "684:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1650, + "type": "uint256", + "value": "b" + }, + "id": 1662, + "name": "Identifier", + "src": "688:1:11" + } + ], + "id": 1663, + "name": "BinaryOperation", + "src": "684:5:11" + } + ], + "id": 1664, + "name": "Return", + "src": "677:12:11" + } + ], + "id": 1665, + "name": "Block", + "src": "651:43:11" + } + ], + "id": 1666, + "name": "FunctionDefinition", + "src": "584:110:11" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "add", + "payable": false, + "scope": 1691, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 1690, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1667, + "name": "ElementaryTypeName", + "src": "711:7:11" + } + ], + "id": 1668, + "name": "VariableDeclaration", + "src": "711:9:11" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 1690, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1669, + "name": "ElementaryTypeName", + "src": "722:7:11" + } + ], + "id": 1670, + "name": "VariableDeclaration", + "src": "722:9:11" + } + ], + "id": 1671, + "name": "ParameterList", + "src": "710:22:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1690, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1672, + "name": "ElementaryTypeName", + "src": "756:7:11" + } + ], + "id": 1673, + "name": "VariableDeclaration", + "src": "756:7:11" + } + ], + "id": 1674, + "name": "ParameterList", + "src": "755:9:11" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1676 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 1690, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1675, + "name": "ElementaryTypeName", + "src": "771:7:11" + } + ], + "id": 1676, + "name": "VariableDeclaration", + "src": "771:9:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1668, + "type": "uint256", + "value": "a" + }, + "id": 1677, + "name": "Identifier", + "src": "783:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1670, + "type": "uint256", + "value": "b" + }, + "id": 1678, + "name": "Identifier", + "src": "787:1:11" + } + ], + "id": 1679, + "name": "BinaryOperation", + "src": "783:5:11" + } + ], + "id": 1680, + "name": "VariableDeclarationStatement", + "src": "771:17:11" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1940, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 1681, + "name": "Identifier", + "src": "794:6:11" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1676, + "type": "uint256", + "value": "c" + }, + "id": 1682, + "name": "Identifier", + "src": "801:1:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1668, + "type": "uint256", + "value": "a" + }, + "id": 1683, + "name": "Identifier", + "src": "806:1:11" + } + ], + "id": 1684, + "name": "BinaryOperation", + "src": "801:6:11" + } + ], + "id": 1685, + "name": "FunctionCall", + "src": "794:14:11" + } + ], + "id": 1686, + "name": "ExpressionStatement", + "src": "794:14:11" + }, + { + "attributes": { + "functionReturnParameters": 1674 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1676, + "type": "uint256", + "value": "c" + }, + "id": 1687, + "name": "Identifier", + "src": "821:1:11" + } + ], + "id": 1688, + "name": "Return", + "src": "814:8:11" + } + ], + "id": 1689, + "name": "Block", + "src": "765:62:11" + } + ], + "id": 1690, + "name": "FunctionDefinition", + "src": "698:129:11" + } + ], + "id": 1691, + "name": "ContractDefinition", + "src": "117:712:11" + } + ], + "id": 1692, + "name": "SourceUnit", + "src": "0:830:11" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.324Z" +} \ No newline at end of file diff --git a/build/contracts/StandardToken.json b/build/contracts/StandardToken.json new file mode 100644 index 0000000..308f307 --- /dev/null +++ b/build/contracts/StandardToken.json @@ -0,0 +1,3736 @@ +{ + "contractName": "StandardToken", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b610ff18061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a7230582019b9cde2829f1f88d63478b4946fb825f14a23ee59b9a10771d3fb19efc7628d0029", + "deployedBytecode": "0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061080d565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a9e565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0b565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f07565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561048b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104d957600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561056457600080fd5b6105b682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561091e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b2565b6109318382610f8e90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b2457600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b7257600080fd5b610bc482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610d9c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fa790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610f9c57fe5b818303905092915050565b6000808284019050838110151515610fbb57fe5b80915050929150505600a165627a7a7230582019b9cde2829f1f88d63478b4946fb825f14a23ee59b9a10771d3fb19efc7628d0029", + "sourceMap": "345:2984:12:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "345:2984:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2928:398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:107:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;431:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2667:257:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183;1866:4;1910:6;1878:7;:19;1886:10;1878:19;;;;;;;;;;;;;;;:29;1898:8;1878:29;;;;;;;;;;;;;;;:38;;;;1943:8;1922:38;;1931:10;1922:38;;;1953:6;1922:38;;;;;;;;;;;;;;;;;;1973:4;1966:11;;1799:183;;;;:::o;179:26:7:-;;;;:::o;737:439:12:-;819:4;854:1;839:17;;:3;:17;;;;831:26;;;;;;;;881:8;:15;890:5;881:15;;;;;;;;;;;;;;;;871:6;:25;;863:34;;;;;;;;921:7;:14;929:5;921:14;;;;;;;;;;;;;;;:26;936:10;921:26;;;;;;;;;;;;;;;;911:6;:36;;903:45;;;;;;;;973:27;993:6;973:8;:15;982:5;973:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;955:8;:15;964:5;955:15;;;;;;;;;;;;;;;:45;;;;1022:25;1040:6;1022:8;:13;1031:3;1022:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1006:8;:13;1015:3;1006:13;;;;;;;;;;;;;;;:41;;;;1082:38;1113:6;1082:7;:14;1090:5;1082:14;;;;;;;;;;;;;;;:26;1097:10;1082:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1053:7;:14;1061:5;1053:14;;;;;;;;;;;;;;;:26;1068:10;1053:26;;;;;;;;;;;;;;;:67;;;;1142:3;1126:28;;1135:5;1126:28;;;1147:6;1126:28;;;;;;;;;;;;;;;;;;1167:4;1160:11;;737:439;;;;;:::o;2928:398::-;3011:4;3023:13;3039:7;:19;3047:10;3039:19;;;;;;;;;;;;;;;:29;3059:8;3039:29;;;;;;;;;;;;;;;;3023:45;;3097:8;3078:16;:27;3074:164;;;3147:1;3115:7;:19;3123:10;3115:19;;;;;;;;;;;;;;;:29;3135:8;3115:29;;;;;;;;;;;;;;;:33;;;;3074:164;;;3201:30;3214:16;3201:8;:12;;:30;;;;:::i;:::-;3169:7;:19;3177:10;3169:19;;;;;;;;;;;;;;;:29;3189:8;3169:29;;;;;;;;;;;;;;;:62;;;;3074:164;3264:8;3243:61;;3252:10;3243:61;;;3274:7;:19;3282:10;3274:19;;;;;;;;;;;;;;;:29;3294:8;3274:29;;;;;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;;;;3317:4;3310:11;;2928:398;;;;;:::o;1012:107:4:-;1068:15;1098:8;:16;1107:6;1098:16;;;;;;;;;;;;;;;;1091:23;;1012:107;;;:::o;431:379::-;494:4;529:1;514:17;;:3;:17;;;;506:26;;;;;;;;556:8;:20;565:10;556:20;;;;;;;;;;;;;;;;546:6;:30;;538:39;;;;;;;;670:32;695:6;670:8;:20;679:10;670:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;647:8;:20;656:10;647:20;;;;;;;;;;;;;;;:55;;;;724:25;742:6;724:8;:13;733:3;724:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;708:8;:13;717:3;708:13;;;;;;;;;;;;;;;:41;;;;776:3;755:33;;764:10;755:33;;;781:6;755:33;;;;;;;;;;;;;;;;;;801:4;794:11;;431:379;;;;:::o;2667:257:12:-;2745:4;2789:46;2823:11;2789:7;:19;2797:10;2789:19;;;;;;;;;;;;;;;:29;2809:8;2789:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2757:7;:19;2765:10;2757:19;;;;;;;;;;;;;;;:29;2777:8;2757:29;;;;;;;;;;;;;;;:78;;;;2862:8;2841:61;;2850:10;2841:61;;;2872:7;:19;2880:10;2872:19;;;;;;;;;;;;;;;:29;2892:8;2872:29;;;;;;;;;;;;;;;;2841:61;;;;;;;;;;;;;;;;;;2915:4;2908:11;;2667:257;;;;:::o;2301:126::-;2375:7;2397;:15;2405:6;2397:15;;;;;;;;;;;;;;;:25;2413:8;2397:25;;;;;;;;;;;;;;;;2390:32;;2301:126;;;;:::o;584:110:11:-;642:7;669:1;664;:6;;657:14;;;;;;688:1;684;:5;677:12;;584:110;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\n\nimport './BasicToken.sol';\nimport './ERC20.sol';\n\n\n/**\n * @title Standard ERC20 token\n *\n * @dev Implementation of the basic standard token.\n * @dev https://github.com/ethereum/EIPs/issues/20\n * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol\n */\ncontract StandardToken is ERC20, BasicToken {\n\n mapping (address => mapping (address => uint256)) internal allowed;\n\n\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n Transfer(_from, _to, _value);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n *\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address _owner, address _spender) public view returns (uint256) {\n return allowed[_owner][_spender];\n }\n\n /**\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n */\n function increaseApproval(address _spender, uint _addedValue) public returns (bool) {\n allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);\n Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {\n uint oldValue = allowed[msg.sender][_spender];\n if (_subtractedValue > oldValue) {\n allowed[msg.sender][_spender] = 0;\n } else {\n allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);\n }\n Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n}\n", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/StandardToken.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 1937 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1693, + "name": "PragmaDirective", + "src": "0:24:12" + }, + { + "attributes": { + "SourceUnit": 1111, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/BasicToken.sol", + "file": "./BasicToken.sol", + "scope": 1938, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1694, + "name": "ImportDirective", + "src": "27:26:12" + }, + { + "attributes": { + "SourceUnit": 1366, + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/zeppelin-solidity-1.4/ERC20.sol", + "file": "./ERC20.sol", + "scope": 1938, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 1695, + "name": "ImportDirective", + "src": "54:21:12" + }, + { + "attributes": { + "contractDependencies": [ + 1110, + 1365, + 1394 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1937, + 1110, + 1365, + 1394 + ], + "name": "StandardToken", + "scope": 1938 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20", + "referencedDeclaration": 1365, + "type": "contract ERC20" + }, + "id": 1696, + "name": "UserDefinedTypeName", + "src": "371:5:12" + } + ], + "id": 1697, + "name": "InheritanceSpecifier", + "src": "371:5:12" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BasicToken", + "referencedDeclaration": 1110, + "type": "contract BasicToken" + }, + "id": 1698, + "name": "UserDefinedTypeName", + "src": "378:10:12" + } + ], + "id": 1699, + "name": "InheritanceSpecifier", + "src": "378:10:12" + }, + { + "attributes": { + "constant": false, + "name": "allowed", + "scope": 1937, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(address => uint256))", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(address => uint256))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1700, + "name": "ElementaryTypeName", + "src": "403:7:12" + }, + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1701, + "name": "ElementaryTypeName", + "src": "423:7:12" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1702, + "name": "ElementaryTypeName", + "src": "434:7:12" + } + ], + "id": 1703, + "name": "Mapping", + "src": "414:28:12" + } + ], + "id": 1704, + "name": "Mapping", + "src": "394:49:12" + } + ], + "id": 1705, + "name": "VariableDeclaration", + "src": "394:66:12" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transferFrom", + "payable": false, + "scope": 1937, + "stateMutability": "nonpayable", + "superFunction": 1347, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 1791, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1706, + "name": "ElementaryTypeName", + "src": "759:7:12" + } + ], + "id": 1707, + "name": "VariableDeclaration", + "src": "759:13:12" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 1791, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1708, + "name": "ElementaryTypeName", + "src": "774:7:12" + } + ], + "id": 1709, + "name": "VariableDeclaration", + "src": "774:11:12" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 1791, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1710, + "name": "ElementaryTypeName", + "src": "787:7:12" + } + ], + "id": 1711, + "name": "VariableDeclaration", + "src": "787:14:12" + } + ], + "id": 1712, + "name": "ParameterList", + "src": "758:44:12" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1791, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1713, + "name": "ElementaryTypeName", + "src": "819:4:12" + } + ], + "id": 1714, + "name": "VariableDeclaration", + "src": "819:4:12" + } + ], + "id": 1715, + "name": "ParameterList", + "src": "818:6:12" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1716, + "name": "Identifier", + "src": "831:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1709, + "type": "address", + "value": "_to" + }, + "id": 1717, + "name": "Identifier", + "src": "839:3:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1718, + "name": "ElementaryTypeNameExpression", + "src": "846:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1719, + "name": "Literal", + "src": "854:1:12" + } + ], + "id": 1720, + "name": "FunctionCall", + "src": "846:10:12" + } + ], + "id": 1721, + "name": "BinaryOperation", + "src": "839:17:12" + } + ], + "id": 1722, + "name": "FunctionCall", + "src": "831:26:12" + } + ], + "id": 1723, + "name": "ExpressionStatement", + "src": "831:26:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1724, + "name": "Identifier", + "src": "863:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1725, + "name": "Identifier", + "src": "871:6:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1726, + "name": "Identifier", + "src": "881:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1727, + "name": "Identifier", + "src": "890:5:12" + } + ], + "id": 1728, + "name": "IndexAccess", + "src": "881:15:12" + } + ], + "id": 1729, + "name": "BinaryOperation", + "src": "871:25:12" + } + ], + "id": 1730, + "name": "FunctionCall", + "src": "863:34:12" + } + ], + "id": 1731, + "name": "ExpressionStatement", + "src": "863:34:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1952, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1732, + "name": "Identifier", + "src": "903:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1733, + "name": "Identifier", + "src": "911:6:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1734, + "name": "Identifier", + "src": "921:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1735, + "name": "Identifier", + "src": "929:5:12" + } + ], + "id": 1736, + "name": "IndexAccess", + "src": "921:14:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1737, + "name": "Identifier", + "src": "936:3:12" + } + ], + "id": 1738, + "name": "MemberAccess", + "src": "936:10:12" + } + ], + "id": 1739, + "name": "IndexAccess", + "src": "921:26:12" + } + ], + "id": 1740, + "name": "BinaryOperation", + "src": "911:36:12" + } + ], + "id": 1741, + "name": "FunctionCall", + "src": "903:45:12" + } + ], + "id": 1742, + "name": "ExpressionStatement", + "src": "903:45:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1743, + "name": "Identifier", + "src": "955:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1744, + "name": "Identifier", + "src": "964:5:12" + } + ], + "id": 1745, + "name": "IndexAccess", + "src": "955:15:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1746, + "name": "Identifier", + "src": "973:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1747, + "name": "Identifier", + "src": "982:5:12" + } + ], + "id": 1748, + "name": "IndexAccess", + "src": "973:15:12" + } + ], + "id": 1749, + "name": "MemberAccess", + "src": "973:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1750, + "name": "Identifier", + "src": "993:6:12" + } + ], + "id": 1751, + "name": "FunctionCall", + "src": "973:27:12" + } + ], + "id": 1752, + "name": "Assignment", + "src": "955:45:12" + } + ], + "id": 1753, + "name": "ExpressionStatement", + "src": "955:45:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1754, + "name": "Identifier", + "src": "1006:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1709, + "type": "address", + "value": "_to" + }, + "id": 1755, + "name": "Identifier", + "src": "1015:3:12" + } + ], + "id": 1756, + "name": "IndexAccess", + "src": "1006:13:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1037, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 1757, + "name": "Identifier", + "src": "1022:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1709, + "type": "address", + "value": "_to" + }, + "id": 1758, + "name": "Identifier", + "src": "1031:3:12" + } + ], + "id": 1759, + "name": "IndexAccess", + "src": "1022:13:12" + } + ], + "id": 1760, + "name": "MemberAccess", + "src": "1022:17:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1761, + "name": "Identifier", + "src": "1040:6:12" + } + ], + "id": 1762, + "name": "FunctionCall", + "src": "1022:25:12" + } + ], + "id": 1763, + "name": "Assignment", + "src": "1006:41:12" + } + ], + "id": 1764, + "name": "ExpressionStatement", + "src": "1006:41:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1765, + "name": "Identifier", + "src": "1053:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1766, + "name": "Identifier", + "src": "1061:5:12" + } + ], + "id": 1769, + "name": "IndexAccess", + "src": "1053:14:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1767, + "name": "Identifier", + "src": "1068:3:12" + } + ], + "id": 1768, + "name": "MemberAccess", + "src": "1068:10:12" + } + ], + "id": 1770, + "name": "IndexAccess", + "src": "1053:26:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1771, + "name": "Identifier", + "src": "1082:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1772, + "name": "Identifier", + "src": "1090:5:12" + } + ], + "id": 1773, + "name": "IndexAccess", + "src": "1082:14:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1774, + "name": "Identifier", + "src": "1097:3:12" + } + ], + "id": 1775, + "name": "MemberAccess", + "src": "1097:10:12" + } + ], + "id": 1776, + "name": "IndexAccess", + "src": "1082:26:12" + } + ], + "id": 1777, + "name": "MemberAccess", + "src": "1082:30:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1778, + "name": "Identifier", + "src": "1113:6:12" + } + ], + "id": 1779, + "name": "FunctionCall", + "src": "1082:38:12" + } + ], + "id": 1780, + "name": "Assignment", + "src": "1053:67:12" + } + ], + "id": 1781, + "name": "ExpressionStatement", + "src": "1053:67:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1393, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 1782, + "name": "Identifier", + "src": "1126:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1707, + "type": "address", + "value": "_from" + }, + "id": 1783, + "name": "Identifier", + "src": "1135:5:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1709, + "type": "address", + "value": "_to" + }, + "id": 1784, + "name": "Identifier", + "src": "1142:3:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1711, + "type": "uint256", + "value": "_value" + }, + "id": 1785, + "name": "Identifier", + "src": "1147:6:12" + } + ], + "id": 1786, + "name": "FunctionCall", + "src": "1126:28:12" + } + ], + "id": 1787, + "name": "ExpressionStatement", + "src": "1126:28:12" + }, + { + "attributes": { + "functionReturnParameters": 1715 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1788, + "name": "Literal", + "src": "1167:4:12" + } + ], + "id": 1789, + "name": "Return", + "src": "1160:11:12" + } + ], + "id": 1790, + "name": "Block", + "src": "825:351:12" + } + ], + "id": 1791, + "name": "FunctionDefinition", + "src": "737:439:12" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "approve", + "payable": false, + "scope": 1937, + "stateMutability": "nonpayable", + "superFunction": 1356, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 1819, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1792, + "name": "ElementaryTypeName", + "src": "1816:7:12" + } + ], + "id": 1793, + "name": "VariableDeclaration", + "src": "1816:16:12" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 1819, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1794, + "name": "ElementaryTypeName", + "src": "1834:7:12" + } + ], + "id": 1795, + "name": "VariableDeclaration", + "src": "1834:14:12" + } + ], + "id": 1796, + "name": "ParameterList", + "src": "1815:34:12" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1819, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1797, + "name": "ElementaryTypeName", + "src": "1866:4:12" + } + ], + "id": 1798, + "name": "VariableDeclaration", + "src": "1866:4:12" + } + ], + "id": 1799, + "name": "ParameterList", + "src": "1865:6:12" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1800, + "name": "Identifier", + "src": "1878:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1801, + "name": "Identifier", + "src": "1886:3:12" + } + ], + "id": 1802, + "name": "MemberAccess", + "src": "1886:10:12" + } + ], + "id": 1804, + "name": "IndexAccess", + "src": "1878:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1793, + "type": "address", + "value": "_spender" + }, + "id": 1803, + "name": "Identifier", + "src": "1898:8:12" + } + ], + "id": 1805, + "name": "IndexAccess", + "src": "1878:29:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1795, + "type": "uint256", + "value": "_value" + }, + "id": 1806, + "name": "Identifier", + "src": "1910:6:12" + } + ], + "id": 1807, + "name": "Assignment", + "src": "1878:38:12" + } + ], + "id": 1808, + "name": "ExpressionStatement", + "src": "1878:38:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1364, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 1809, + "name": "Identifier", + "src": "1922:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1810, + "name": "Identifier", + "src": "1931:3:12" + } + ], + "id": 1811, + "name": "MemberAccess", + "src": "1931:10:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1793, + "type": "address", + "value": "_spender" + }, + "id": 1812, + "name": "Identifier", + "src": "1943:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1795, + "type": "uint256", + "value": "_value" + }, + "id": 1813, + "name": "Identifier", + "src": "1953:6:12" + } + ], + "id": 1814, + "name": "FunctionCall", + "src": "1922:38:12" + } + ], + "id": 1815, + "name": "ExpressionStatement", + "src": "1922:38:12" + }, + { + "attributes": { + "functionReturnParameters": 1799 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1816, + "name": "Literal", + "src": "1973:4:12" + } + ], + "id": 1817, + "name": "Return", + "src": "1966:11:12" + } + ], + "id": 1818, + "name": "Block", + "src": "1872:110:12" + } + ], + "id": 1819, + "name": "FunctionDefinition", + "src": "1799:183:12" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "allowance", + "payable": false, + "scope": 1937, + "stateMutability": "view", + "superFunction": 1336, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 1835, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1820, + "name": "ElementaryTypeName", + "src": "2320:7:12" + } + ], + "id": 1821, + "name": "VariableDeclaration", + "src": "2320:14:12" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 1835, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1822, + "name": "ElementaryTypeName", + "src": "2336:7:12" + } + ], + "id": 1823, + "name": "VariableDeclaration", + "src": "2336:16:12" + } + ], + "id": 1824, + "name": "ParameterList", + "src": "2319:34:12" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1835, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 1825, + "name": "ElementaryTypeName", + "src": "2375:7:12" + } + ], + "id": 1826, + "name": "VariableDeclaration", + "src": "2375:7:12" + } + ], + "id": 1827, + "name": "ParameterList", + "src": "2374:9:12" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1827 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1828, + "name": "Identifier", + "src": "2397:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1821, + "type": "address", + "value": "_owner" + }, + "id": 1829, + "name": "Identifier", + "src": "2405:6:12" + } + ], + "id": 1830, + "name": "IndexAccess", + "src": "2397:15:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1823, + "type": "address", + "value": "_spender" + }, + "id": 1831, + "name": "Identifier", + "src": "2413:8:12" + } + ], + "id": 1832, + "name": "IndexAccess", + "src": "2397:25:12" + } + ], + "id": 1833, + "name": "Return", + "src": "2390:32:12" + } + ], + "id": 1834, + "name": "Block", + "src": "2384:43:12" + } + ], + "id": 1835, + "name": "FunctionDefinition", + "src": "2301:126:12" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "increaseApproval", + "payable": false, + "scope": 1937, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 1876, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1836, + "name": "ElementaryTypeName", + "src": "2693:7:12" + } + ], + "id": 1837, + "name": "VariableDeclaration", + "src": "2693:16:12" + }, + { + "attributes": { + "constant": false, + "name": "_addedValue", + "scope": 1876, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1838, + "name": "ElementaryTypeName", + "src": "2711:4:12" + } + ], + "id": 1839, + "name": "VariableDeclaration", + "src": "2711:16:12" + } + ], + "id": 1840, + "name": "ParameterList", + "src": "2692:36:12" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1876, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1841, + "name": "ElementaryTypeName", + "src": "2745:4:12" + } + ], + "id": 1842, + "name": "VariableDeclaration", + "src": "2745:4:12" + } + ], + "id": 1843, + "name": "ParameterList", + "src": "2744:6:12" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1844, + "name": "Identifier", + "src": "2757:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1845, + "name": "Identifier", + "src": "2765:3:12" + } + ], + "id": 1846, + "name": "MemberAccess", + "src": "2765:10:12" + } + ], + "id": 1848, + "name": "IndexAccess", + "src": "2757:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1837, + "type": "address", + "value": "_spender" + }, + "id": 1847, + "name": "Identifier", + "src": "2777:8:12" + } + ], + "id": 1849, + "name": "IndexAccess", + "src": "2757:29:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 1690, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1850, + "name": "Identifier", + "src": "2789:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1851, + "name": "Identifier", + "src": "2797:3:12" + } + ], + "id": 1852, + "name": "MemberAccess", + "src": "2797:10:12" + } + ], + "id": 1853, + "name": "IndexAccess", + "src": "2789:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1837, + "type": "address", + "value": "_spender" + }, + "id": 1854, + "name": "Identifier", + "src": "2809:8:12" + } + ], + "id": 1855, + "name": "IndexAccess", + "src": "2789:29:12" + } + ], + "id": 1856, + "name": "MemberAccess", + "src": "2789:33:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1839, + "type": "uint256", + "value": "_addedValue" + }, + "id": 1857, + "name": "Identifier", + "src": "2823:11:12" + } + ], + "id": 1858, + "name": "FunctionCall", + "src": "2789:46:12" + } + ], + "id": 1859, + "name": "Assignment", + "src": "2757:78:12" + } + ], + "id": 1860, + "name": "ExpressionStatement", + "src": "2757:78:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1364, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 1861, + "name": "Identifier", + "src": "2841:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1862, + "name": "Identifier", + "src": "2850:3:12" + } + ], + "id": 1863, + "name": "MemberAccess", + "src": "2850:10:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1837, + "type": "address", + "value": "_spender" + }, + "id": 1864, + "name": "Identifier", + "src": "2862:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1865, + "name": "Identifier", + "src": "2872:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1866, + "name": "Identifier", + "src": "2880:3:12" + } + ], + "id": 1867, + "name": "MemberAccess", + "src": "2880:10:12" + } + ], + "id": 1868, + "name": "IndexAccess", + "src": "2872:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1837, + "type": "address", + "value": "_spender" + }, + "id": 1869, + "name": "Identifier", + "src": "2892:8:12" + } + ], + "id": 1870, + "name": "IndexAccess", + "src": "2872:29:12" + } + ], + "id": 1871, + "name": "FunctionCall", + "src": "2841:61:12" + } + ], + "id": 1872, + "name": "ExpressionStatement", + "src": "2841:61:12" + }, + { + "attributes": { + "functionReturnParameters": 1843 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1873, + "name": "Literal", + "src": "2915:4:12" + } + ], + "id": 1874, + "name": "Return", + "src": "2908:11:12" + } + ], + "id": 1875, + "name": "Block", + "src": "2751:173:12" + } + ], + "id": 1876, + "name": "FunctionDefinition", + "src": "2667:257:12" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "decreaseApproval", + "payable": false, + "scope": 1937, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 1936, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1877, + "name": "ElementaryTypeName", + "src": "2954:7:12" + } + ], + "id": 1878, + "name": "VariableDeclaration", + "src": "2954:16:12" + }, + { + "attributes": { + "constant": false, + "name": "_subtractedValue", + "scope": 1936, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1879, + "name": "ElementaryTypeName", + "src": "2972:4:12" + } + ], + "id": 1880, + "name": "VariableDeclaration", + "src": "2972:21:12" + } + ], + "id": 1881, + "name": "ParameterList", + "src": "2953:41:12" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1936, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1882, + "name": "ElementaryTypeName", + "src": "3011:4:12" + } + ], + "id": 1883, + "name": "VariableDeclaration", + "src": "3011:4:12" + } + ], + "id": 1884, + "name": "ParameterList", + "src": "3010:6:12" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1886 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "oldValue", + "scope": 1936, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1885, + "name": "ElementaryTypeName", + "src": "3023:4:12" + } + ], + "id": 1886, + "name": "VariableDeclaration", + "src": "3023:13:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1887, + "name": "Identifier", + "src": "3039:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1888, + "name": "Identifier", + "src": "3047:3:12" + } + ], + "id": 1889, + "name": "MemberAccess", + "src": "3047:10:12" + } + ], + "id": 1890, + "name": "IndexAccess", + "src": "3039:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1878, + "type": "address", + "value": "_spender" + }, + "id": 1891, + "name": "Identifier", + "src": "3059:8:12" + } + ], + "id": 1892, + "name": "IndexAccess", + "src": "3039:29:12" + } + ], + "id": 1893, + "name": "VariableDeclarationStatement", + "src": "3023:45:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1880, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 1894, + "name": "Identifier", + "src": "3078:16:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1886, + "type": "uint256", + "value": "oldValue" + }, + "id": 1895, + "name": "Identifier", + "src": "3097:8:12" + } + ], + "id": 1896, + "name": "BinaryOperation", + "src": "3078:27:12" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1897, + "name": "Identifier", + "src": "3115:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1898, + "name": "Identifier", + "src": "3123:3:12" + } + ], + "id": 1899, + "name": "MemberAccess", + "src": "3123:10:12" + } + ], + "id": 1901, + "name": "IndexAccess", + "src": "3115:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1878, + "type": "address", + "value": "_spender" + }, + "id": 1900, + "name": "Identifier", + "src": "3135:8:12" + } + ], + "id": 1902, + "name": "IndexAccess", + "src": "3115:29:12" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1903, + "name": "Literal", + "src": "3147:1:12" + } + ], + "id": 1904, + "name": "Assignment", + "src": "3115:33:12" + } + ], + "id": 1905, + "name": "ExpressionStatement", + "src": "3115:33:12" + } + ], + "id": 1906, + "name": "Block", + "src": "3107:48:12" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1907, + "name": "Identifier", + "src": "3169:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1908, + "name": "Identifier", + "src": "3177:3:12" + } + ], + "id": 1909, + "name": "MemberAccess", + "src": "3177:10:12" + } + ], + "id": 1911, + "name": "IndexAccess", + "src": "3169:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1878, + "type": "address", + "value": "_spender" + }, + "id": 1910, + "name": "Identifier", + "src": "3189:8:12" + } + ], + "id": 1912, + "name": "IndexAccess", + "src": "3169:29:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 1666, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1886, + "type": "uint256", + "value": "oldValue" + }, + "id": 1913, + "name": "Identifier", + "src": "3201:8:12" + } + ], + "id": 1914, + "name": "MemberAccess", + "src": "3201:12:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1880, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 1915, + "name": "Identifier", + "src": "3214:16:12" + } + ], + "id": 1916, + "name": "FunctionCall", + "src": "3201:30:12" + } + ], + "id": 1917, + "name": "Assignment", + "src": "3169:62:12" + } + ], + "id": 1918, + "name": "ExpressionStatement", + "src": "3169:62:12" + } + ], + "id": 1919, + "name": "Block", + "src": "3161:77:12" + } + ], + "id": 1920, + "name": "IfStatement", + "src": "3074:164:12" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1364, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 1921, + "name": "Identifier", + "src": "3243:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1922, + "name": "Identifier", + "src": "3252:3:12" + } + ], + "id": 1923, + "name": "MemberAccess", + "src": "3252:10:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1878, + "type": "address", + "value": "_spender" + }, + "id": 1924, + "name": "Identifier", + "src": "3264:8:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 1925, + "name": "Identifier", + "src": "3274:7:12" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1949, + "type": "msg", + "value": "msg" + }, + "id": 1926, + "name": "Identifier", + "src": "3282:3:12" + } + ], + "id": 1927, + "name": "MemberAccess", + "src": "3282:10:12" + } + ], + "id": 1928, + "name": "IndexAccess", + "src": "3274:19:12" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1878, + "type": "address", + "value": "_spender" + }, + "id": 1929, + "name": "Identifier", + "src": "3294:8:12" + } + ], + "id": 1930, + "name": "IndexAccess", + "src": "3274:29:12" + } + ], + "id": 1931, + "name": "FunctionCall", + "src": "3243:61:12" + } + ], + "id": 1932, + "name": "ExpressionStatement", + "src": "3243:61:12" + }, + { + "attributes": { + "functionReturnParameters": 1884 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1933, + "name": "Literal", + "src": "3317:4:12" + } + ], + "id": 1934, + "name": "Return", + "src": "3310:11:12" + } + ], + "id": 1935, + "name": "Block", + "src": "3017:309:12" + } + ], + "id": 1936, + "name": "FunctionDefinition", + "src": "2928:398:12" + } + ], + "id": 1937, + "name": "ContractDefinition", + "src": "345:2984:12" + } + ], + "id": 1938, + "name": "SourceUnit", + "src": "0:3330:12" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:26:55.341Z" +} \ No newline at end of file diff --git a/build/contracts/WalletSimple.json b/build/contracts/WalletSimple.json new file mode 100644 index 0000000..59b8cf5 --- /dev/null +++ b/build/contracts/WalletSimple.json @@ -0,0 +1,9397 @@ +{ + "contractName": "WalletSimple", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "toAddress", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "tokenContractAddress", + "type": "address" + }, + { + "name": "expireTime", + "type": "uint256" + }, + { + "name": "sequenceId", + "type": "uint256" + }, + { + "name": "signature", + "type": "bytes" + } + ], + "name": "sendMultiSigToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "signers", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "forwarderAddress", + "type": "address" + }, + { + "name": "tokenContractAddress", + "type": "address" + } + ], + "name": "flushForwarderTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "toAddress", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "expireTime", + "type": "uint256" + }, + { + "name": "sequenceId", + "type": "uint256" + }, + { + "name": "signature", + "type": "bytes" + } + ], + "name": "sendMultiSig", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "signer", + "type": "address" + } + ], + "name": "isSigner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "getNextSequenceId", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "createForwarder", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "safeMode", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "activateSafeMode", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "allowedSigners", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "from", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "msgSender", + "type": "address" + } + ], + "name": "SafeModeActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "msgSender", + "type": "address" + }, + { + "indexed": false, + "name": "otherSigner", + "type": "address" + }, + { + "indexed": false, + "name": "operation", + "type": "bytes32" + }, + { + "indexed": false, + "name": "toAddress", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "Transacted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "msgSender", + "type": "address" + }, + { + "indexed": false, + "name": "otherSigner", + "type": "address" + }, + { + "indexed": false, + "name": "operation", + "type": "bytes32" + }, + { + "indexed": false, + "name": "toAddress", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "tokenContractAddress", + "type": "address" + } + ], + "name": "TokenTransacted", + "type": "event" + } + ], + "bytecode": "0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b6040516116fe3803806116fe833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b6115af8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061088e565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b8d565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610c31565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610c8b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610cc4565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610cd7565b005b600080600061049d33610b8d565b15156104a857600080fd5b888888888860405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401838152602001828152602001955050505050506040518091039020925061058b8984868989610d6a565b91508690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8a8a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063b57600080fd5b6102c65a03f1151561064c57600080fd5b50505060405180519050151561066157600080fd5b7ff3574a20a6defd7fc26917e8013cdd578db5eaa4d9a3eb54f2bb0983ad8ab40d3383858c8c8c604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1505050505050505050565b60008181548110151561079257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107cd33610b8d565b15156107d857600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561087557600080fd5b6102c65a03f1151561088657600080fd5b505050505050565b60008061089a33610b8d565b15156108a557600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061099a8883858888610d6a565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156109e25780820151818401526020810190506109c7565b50505050905090810190601f168015610a0f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1925050501515610a3357600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b44578082015181840152602081019050610b29565b50505050905090810190601f168015610b715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610c26578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610bc857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c195760019150610c2b565b8080600101915050610b95565b600091505b50919050565b6000806000809150600090505b600a811015610c805781600282600a81101515610c5757fe5b01541115610c7357600281600a81101515610c6e57fe5b015491505b8080600101915050610c3e565b600182019250505090565b6000610c9633610b8d565b1515610ca157600080fd5b610ca9610fbf565b604051809103906000f0801515610cbf57600080fd5b905090565b600160009054906101000a900460ff1681565b610ce033610b8d565b1515610ceb57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610d778686610e15565b9050600160009054906101000a900460ff168015610d9b5750610d9987610b8d565b155b15610da557600080fd5b42841015610db257600080fd5b610dbb83610ee8565b610dc481610b8d565b1515610dcf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e0857600080fd5b8091505095945050505050565b60008060008060418551141515610e2b57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610e5657601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610ed457600080fd5b505060206040510351935050505092915050565b600080610ef433610b8d565b1515610eff57600080fd5b60009150600090505b600a811015610f675782600282600a81101515610f2157fe5b01541415610f2e57600080fd5b600282600a81101515610f3d57fe5b0154600282600a81101515610f4e57fe5b01541015610f5a578091505b8080600101915050610f08565b600282600a81101515610f7657fe5b0154831015610f8457600080fd5b612710600283600a81101515610f9657fe5b015401831115610fa557600080fd5b82600283600a81101515610fb557fe5b0181905550505050565b6040516105b480610fd08339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a723058203831dd6d0d4d052358121bd37f489b358d76e72d923efb87f9bc9e913e58921d0029a165627a7a72305820b352afd56d1b4861d1dc1744c5efc7f1643aa3a8450353ab3c623a8394b3572e0029", + "deployedBytecode": "0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061088e565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b8d565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610c31565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610c8b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610cc4565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610cd7565b005b600080600061049d33610b8d565b15156104a857600080fd5b888888888860405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401838152602001828152602001955050505050506040518091039020925061058b8984868989610d6a565b91508690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8a8a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063b57600080fd5b6102c65a03f1151561064c57600080fd5b50505060405180519050151561066157600080fd5b7ff3574a20a6defd7fc26917e8013cdd578db5eaa4d9a3eb54f2bb0983ad8ab40d3383858c8c8c604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1505050505050505050565b60008181548110151561079257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107cd33610b8d565b15156107d857600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561087557600080fd5b6102c65a03f1151561088657600080fd5b505050505050565b60008061089a33610b8d565b15156108a557600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061099a8883858888610d6a565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156109e25780820151818401526020810190506109c7565b50505050905090810190601f168015610a0f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1925050501515610a3357600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b44578082015181840152602081019050610b29565b50505050905090810190601f168015610b715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610c26578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610bc857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c195760019150610c2b565b8080600101915050610b95565b600091505b50919050565b6000806000809150600090505b600a811015610c805781600282600a81101515610c5757fe5b01541115610c7357600281600a81101515610c6e57fe5b015491505b8080600101915050610c3e565b600182019250505090565b6000610c9633610b8d565b1515610ca157600080fd5b610ca9610fbf565b604051809103906000f0801515610cbf57600080fd5b905090565b600160009054906101000a900460ff1681565b610ce033610b8d565b1515610ceb57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610d778686610e15565b9050600160009054906101000a900460ff168015610d9b5750610d9987610b8d565b155b15610da557600080fd5b42841015610db257600080fd5b610dbb83610ee8565b610dc481610b8d565b1515610dcf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e0857600080fd5b8091505095945050505050565b60008060008060418551141515610e2b57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610e5657601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610ed457600080fd5b505060206040510351935050505092915050565b600080610ef433610b8d565b1515610eff57600080fd5b60009150600090505b600a811015610f675782600282600a81101515610f2157fe5b01541415610f2e57600080fd5b600282600a81101515610f3d57fe5b0154600282600a81101515610f4e57fe5b01541015610f5a578091505b8080600101915050610f08565b600282600a81101515610f7657fe5b0154831015610f8457600080fd5b612710600283600a81101515610f9657fe5b015401831115610fa557600080fd5b82600283600a81101515610fb557fe5b0181905550505050565b6040516105b480610fd08339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a723058203831dd6d0d4d052358121bd37f489b358d76e72d923efb87f9bc9e913e58921d0029a165627a7a72305820b352afd56d1b4861d1dc1744c5efc7f1643aa3a8450353ab3c623a8394b3572e0029", + "sourceMap": "2615:11247:0:-;;;3892:5;3869:28;;;;;;;;;;;;;;;;;;;;4638:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4721:1;4696:14;:21;:26;;4692:87;;;4767:5;;;4692:87;4794:14;4784:7;:24;;;;;;;;;;;;:::i;:::-;;4638:175;2615:11247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "2615:11247:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4943:1;4931:9;:13;4927:132;;;5010:42;5020:10;5032:9;5043:8;;5010:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:132;2615:11247;7672:636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3780:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8631:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6185:577;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10842:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13570:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5218:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3869:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10569:100;;;;;;;;;;;;;;7672:636;7859:17;7967:15;8071:23;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;7893:9;7904:5;7911:20;7933:10;7945;7879:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:97;;7985:75;8000:9;8011:13;8026:9;8037:10;8049;7985:14;:75::i;:::-;7967:93;;8112:20;8071:62;;8144:8;:17;;;8162:9;8173:5;8144:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8143:36;8139:64;;;8191:5;;;8139:64;8208:95;8224:10;8236:11;8249:13;8264:9;8275:5;8282:20;8208:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:636;;;;;;;;;:::o;3780:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8631:210::-;8738:19;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;8770:16;8738:49;;8793:9;:21;;;8815:20;8793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8631:210;;;:::o;6185:577::-;6349:17;6441:15;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;6383:9;6394:5;6401:4;6407:10;6419;6369:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6349:81:0;;6459:75;6474:9;6485:13;6500:9;6511:10;6523;6459:14;:75::i;:::-;6441:93;;6584:9;:14;;6605:5;6612:4;6584:33;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6582:36:0;6578:100;;;6666:5;;;6578:100;6683:74;6694:10;6706:11;6719:13;6734:9;6745:5;6752:4;6683:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6185:577:0;;;;;;;;:::o;10842:242::-;10885:4;10955:6;10964:1;10955:10;;10950:112;10971:7;:14;;;;10967:1;:18;10950:112;;;11018:6;11004:20;;:7;11012:1;11004:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;11000:56;;;11043:4;11036:11;;;;11000:56;10987:3;;;;;;;10950:112;;;11074:5;11067:12;;10842:242;;;;;:::o;13570:290::-;13608:4;13620:22;13657:6;13645:1;13620:26;;13666:1;13657:10;;13652:170;4020:2;13669:1;:27;13652:170;;;13738:17;13715;13733:1;13715:20;;;;;;;;;;;:40;13711:105;;;13787:17;13805:1;13787:20;;;;;;;;;;;13767:40;;13711:105;13698:3;;;;;;;13652:170;;;13854:1;13834:17;:21;13827:28;;13570:290;;;:::o;5218:89::-;5265:7;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;5287:15;;:::i;:::-;;;;;;;;;;;;;;;;;;5280:22;;5218:89;:::o;3869:28::-;;;;;;;;;;;;;:::o;10569:100::-;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;10625:4;10614:8;;:15;;;;;;;;;;;;;;;;;;10635:29;10653:10;10635:29;;;;;;;;;;;;;;;;;;;;;;10569:100::o;9472:963::-;9606:7;9622:15;9640:53;9668:13;9683:9;9640:27;:53::i;:::-;9622:71;;9792:8;;;;;;;;;;;:32;;;;;9805:19;9814:9;9805:8;:19::i;:::-;9804:20;9792:32;9788:132;;;9908:5;;;9788:132;9993:15;9980:10;:28;9976:83;;;10047:5;;;9976:83;10145:31;10165:10;10145:19;:31::i;:::-;10188:21;10197:11;10188:8;:21::i;:::-;10187:22;10183:127;;;10298:5;;;10183:127;10334:10;10319:25;;:11;:25;;;10315:91;;;10394:5;;;10315:91;10419:11;10412:18;;9472:963;;;;;;;;:::o;11418:621::-;11512:7;11675:9;11690;11705:7;11551:2;11531:9;:16;:22;;11527:48;;;11563:5;;;11527:48;11761:2;11750:9;11746:3;11740:5;11735:30;;11798:2;11787:9;11783:3;11777:5;11772:30;;11845:3;11839:2;11828:9;11824:3;11818:5;11814:3;11809:40;;11868:2;11864:1;:6;;;11860:129;;;11885:2;11880:7;;;;11860:129;12001:33;12011:13;12026:1;12029;12032;12001:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11994:40;;11418:621;;;;;;;:::o;12398:1001::-;12533:21;12569:6;4210:20;4219:10;4210:8;:20::i;:::-;4209:21;4205:47;;;4240:5;;;4205:47;12557:1;12533:25;;12578:1;12569:10;;12564:299;4020:2;12581:1;:27;12564:299;;;12651:10;12627:17;12645:1;12627:20;;;;;;;;;;;:34;12623:124;;;12733:5;;;12623:124;12781:17;12799:16;12781:35;;;;;;;;;;;12758:17;12776:1;12758:20;;;;;;;;;;;:58;12754:103;;;12847:1;12828:20;;12754:103;12610:3;;;;;;;12564:299;;;12885:17;12903:16;12885:35;;;;;;;;;;;12872:10;:48;12868:219;;;13075:5;;;12868:219;13148:5;13110:17;13128:16;13110:35;;;;;;;;;;;:43;13096:10;:58;13092:249;;;13329:5;;;13092:249;13384:10;13346:17;13364:16;13346:35;;;;;;;;;;:48;;;;12398:1001;;;:::o;2615:11247::-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.14;\n\n/**\n * Contract that exposes the needed erc20 token functions\n */\n\ncontract ERC20Interface {\n // Send _value amount of tokens to address _to\n function transfer(address _to, uint256 _value) returns (bool success);\n // Get the account balance of another account with address _owner\n function balanceOf(address _owner) constant returns (uint256 balance);\n}\n\n/**\n * Contract that will forward any incoming Ether to its creator\n */\ncontract Forwarder {\n // Address to which any funds sent to this contract will be forwarded\n address public parentAddress;\n event ForwarderDeposited(address from, uint value, bytes data);\n\n event TokensFlushed(\n address tokenContractAddress, // The contract address of the token\n uint value // Amount of token sent\n );\n\n /**\n * Create the contract, and set the destination address to that of the creator\n */\n function Forwarder() {\n parentAddress = msg.sender;\n }\n\n /**\n * Modifier that will execute internal code block only if the sender is a parent of the forwarder contract\n */\n modifier onlyParent {\n if (msg.sender != parentAddress) {\n throw;\n }\n _;\n }\n\n /**\n * Default function; Gets called when Ether is deposited, and forwards it to the destination address\n */\n function() payable {\n if (!parentAddress.call.value(msg.value)(msg.data))\n throw;\n // Fire off the deposited event if we can forward it \n ForwarderDeposited(msg.sender, msg.value, msg.data);\n }\n\n /**\n * Execute a token transfer of the full balance from the forwarder token to the main wallet contract\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushTokens(address tokenContractAddress) onlyParent {\n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n var forwarderAddress = address(this);\n var forwarderBalance = instance.balanceOf(forwarderAddress);\n if (forwarderBalance == 0) {\n return;\n }\n if (!instance.transfer(parentAddress, forwarderBalance)) {\n throw;\n }\n TokensFlushed(tokenContractAddress, forwarderBalance);\n }\n\n /**\n * It is possible that funds were sent to this address before the contract was deployed.\n * We can flush those funds to the destination address.\n */\n function flush() {\n if (!parentAddress.call.value(this.balance)())\n throw;\n }\n}\n\n/**\n * Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\n * Typically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.\n */\ncontract WalletSimple {\n // Events\n event Deposited(address from, uint value, bytes data);\n event SafeModeActivated(address msgSender);\n event Transacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, data, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of Wei sent to the address\n bytes data // Data sent when invoking the transaction\n );\n event TokenTransacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, tokenContractAddress, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of token sent\n address tokenContractAddress // The contract address of the token\n );\n\n // Public fields\n address[] public signers; // The addresses that can co-sign transactions on the wallet\n bool public safeMode = false; // When active, wallet may only send to signer addresses\n\n // Internal fields\n uint constant SEQUENCE_ID_WINDOW_SIZE = 10;\n uint[10] recentSequenceIds;\n\n /**\n * Modifier that will execute internal code block only if the sender is an authorized signer on this wallet\n */\n modifier onlysigner {\n if (!isSigner(msg.sender)) {\n throw;\n }\n _;\n }\n\n /**\n * Set up a simple multi-sig wallet by specifying the signers allowed to be used on this wallet.\n * 2 signers will be required to send a transaction from this wallet.\n * Note: The sender is NOT automatically added to the list of signers.\n * Signers CANNOT be changed once they are set\n *\n * @param allowedSigners An array of signers on the wallet\n */\n function WalletSimple(address[] allowedSigners) {\n if (allowedSigners.length != 3) {\n // Invalid number of signers\n throw;\n }\n signers = allowedSigners;\n }\n\n /**\n * Gets called when a transaction is received without calling a method\n */\n function() payable {\n if (msg.value > 0) {\n // Fire deposited event if we are receiving funds\n Deposited(msg.sender, msg.value, msg.data);\n }\n }\n\n /**\n * Create a new contract (and also address) that forwards funds to this contract\n * returns address of newly created forwarder address\n */\n function createForwarder() onlysigner returns (address) {\n return new Forwarder();\n }\n\n /**\n * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, data, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in Wei to be sent\n * @param data the data to send to the toAddress when invoking the transaction\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, data, expireTime, sequenceId)\n */\n function sendMultiSig(address toAddress, uint value, bytes data, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ETHER\", toAddress, value, data, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n\n // Success, send the transaction\n if (!(toAddress.call.value(value)(data))) {\n // Failed executing transaction\n throw;\n }\n Transacted(msg.sender, otherSigner, operationHash, toAddress, value, data);\n }\n \n /**\n * Execute a multi-signature token transfer from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, tokenContractAddress, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in tokens to be sent\n * @param tokenContractAddress the address of the erc20 token contract\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, tokenContractAddress, expireTime, sequenceId)\n */\n function sendMultiSigToken(address toAddress, uint value, address tokenContractAddress, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ERC20\", toAddress, value, tokenContractAddress, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n \n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n if (!instance.transfer(toAddress, value)) {\n throw;\n }\n TokenTransacted(msg.sender, otherSigner, operationHash, toAddress, value, tokenContractAddress);\n }\n\n /**\n * Execute a token flush from one of the forwarder addresses. This transfer needs only a single signature and can be done by any signer\n *\n * @param forwarderAddress the address of the forwarder address to flush the tokens from\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushForwarderTokens(address forwarderAddress, address tokenContractAddress) onlysigner { \n Forwarder forwarder = Forwarder(forwarderAddress);\n forwarder.flushTokens(tokenContractAddress);\n } \n \n /**\n * Do common multisig verification for both eth sends and erc20token transfers\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * returns address of the address to send tokens or eth to\n */\n function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) {\n\n var otherSigner = recoverAddressFromSignature(operationHash, signature);\n\n // Verify if we are in safe mode. In safe mode, the wallet can only send to signers\n if (safeMode && !isSigner(toAddress)) {\n // We are in safe mode and the toAddress is not a signer. Disallow!\n throw;\n }\n // Verify that the transaction has not expired\n if (expireTime < block.timestamp) {\n // Transaction expired\n throw;\n }\n\n // Try to insert the sequence ID. Will throw if the sequence id was invalid\n tryInsertSequenceId(sequenceId);\n\n if (!isSigner(otherSigner)) {\n // Other signer not on this wallet or operation does not match arguments\n throw;\n }\n if (otherSigner == msg.sender) {\n // Cannot approve own transaction\n throw;\n }\n\n return otherSigner;\n }\n\n /**\n * Irrevocably puts contract into safe mode. When in this mode, transactions may only be sent to signing addresses.\n */\n function activateSafeMode() onlysigner {\n safeMode = true;\n SafeModeActivated(msg.sender);\n }\n\n /**\n * Determine if an address is a signer on this wallet\n * @param signer address to check\n * returns boolean indicating whether address is signer or not\n */\n function isSigner(address signer) returns (bool) {\n // Iterate through all signers on the wallet and\n for (uint i = 0; i < signers.length; i++) {\n if (signers[i] == signer) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the second signer's address using ecrecover\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * returns address recovered from the signature\n */\n function recoverAddressFromSignature(bytes32 operationHash, bytes signature) private returns (address) {\n if (signature.length != 65) {\n throw;\n }\n // We need to unpack the signature, which is given as an array of 65 bytes (from eth.sign)\n bytes32 r;\n bytes32 s;\n uint8 v;\n assembly {\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n }\n if (v < 27) {\n v += 27; // Ethereum versions are 27 or 28 as opposed to 0 or 1 which is submitted by some signing libs\n }\n return ecrecover(operationHash, v, r, s);\n }\n\n /**\n * Verify that the sequence id has not been used before and inserts it. Throws if the sequence ID was not accepted.\n * We collect a window of up to 10 recent sequence ids, and allow any sequence id that is not in the window and\n * greater than the minimum element in the window.\n * @param sequenceId to insert into array of stored ids\n */\n function tryInsertSequenceId(uint sequenceId) onlysigner private {\n // Keep a pointer to the lowest value element in the window\n uint lowestValueIndex = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] == sequenceId) {\n // This sequence ID has been used before. Disallow!\n throw;\n }\n if (recentSequenceIds[i] < recentSequenceIds[lowestValueIndex]) {\n lowestValueIndex = i;\n }\n }\n if (sequenceId < recentSequenceIds[lowestValueIndex]) {\n // The sequence ID being used is lower than the lowest value in the window\n // so we cannot accept it as it may have been used before\n throw;\n }\n if (sequenceId > (recentSequenceIds[lowestValueIndex] + 10000)) {\n // Block sequence IDs which are much higher than the lowest value\n // This prevents people blocking the contract by using very large sequence IDs quickly\n throw;\n }\n recentSequenceIds[lowestValueIndex] = sequenceId;\n }\n\n /**\n * Gets the next available sequence ID for signing when using executeAndConfirm\n * returns the sequenceId one higher than the highest currently stored\n */\n function getNextSequenceId() returns (uint) {\n uint highestSequenceId = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] > highestSequenceId) {\n highestSequenceId = recentSequenceIds[i];\n }\n }\n return highestSequenceId + 1;\n }\n}", + "sourcePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "ast": { + "attributes": { + "absolutePath": "/Users/sam/dev/bread/smart-contracts/contracts/bitgo-multisig/WalletSimple.sol", + "exportedSymbols": { + "ERC20Interface": [ + 18 + ], + "Forwarder": [ + 139 + ], + "WalletSimple": [ + 654 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".14" + ] + }, + "id": 1, + "name": "PragmaDirective", + "src": "0:24:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that exposes the needed erc20 token functions", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 18 + ], + "name": "ERC20Interface", + "scope": 655 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 18, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2, + "name": "ElementaryTypeName", + "src": "188:7:0" + } + ], + "id": 3, + "name": "VariableDeclaration", + "src": "188:11:0" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4, + "name": "ElementaryTypeName", + "src": "201:7:0" + } + ], + "id": 5, + "name": "VariableDeclaration", + "src": "201:14:0" + } + ], + "id": 6, + "name": "ParameterList", + "src": "187:29:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "success", + "scope": 10, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7, + "name": "ElementaryTypeName", + "src": "226:4:0" + } + ], + "id": 8, + "name": "VariableDeclaration", + "src": "226:12:0" + } + ], + "id": 9, + "name": "ParameterList", + "src": "225:14:0" + } + ], + "id": 10, + "name": "FunctionDefinition", + "src": "170:70:0" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 18, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 11, + "name": "ElementaryTypeName", + "src": "330:7:0" + } + ], + "id": 12, + "name": "VariableDeclaration", + "src": "330:14:0" + } + ], + "id": 13, + "name": "ParameterList", + "src": "329:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 17, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 14, + "name": "ElementaryTypeName", + "src": "364:7:0" + } + ], + "id": 15, + "name": "VariableDeclaration", + "src": "364:15:0" + } + ], + "id": 16, + "name": "ParameterList", + "src": "363:17:0" + } + ], + "id": 17, + "name": "FunctionDefinition", + "src": "311:70:0" + } + ], + "id": 18, + "name": "ContractDefinition", + "src": "93:290:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "Contract that will forward any incoming Ether to its creator", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 139 + ], + "name": "Forwarder", + "scope": 655 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "parentAddress", + "scope": 139, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 19, + "name": "ElementaryTypeName", + "src": "552:7:0" + } + ], + "id": 20, + "name": "VariableDeclaration", + "src": "552:28:0" + }, + { + "attributes": { + "anonymous": false, + "name": "ForwarderDeposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 21, + "name": "ElementaryTypeName", + "src": "609:7:0" + } + ], + "id": 22, + "name": "VariableDeclaration", + "src": "609:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 23, + "name": "ElementaryTypeName", + "src": "623:4:0" + } + ], + "id": 24, + "name": "VariableDeclaration", + "src": "623:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 28, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 25, + "name": "ElementaryTypeName", + "src": "635:5:0" + } + ], + "id": 26, + "name": "VariableDeclaration", + "src": "635:10:0" + } + ], + "id": 27, + "name": "ParameterList", + "src": "608:38:0" + } + ], + "id": 28, + "name": "EventDefinition", + "src": "584:63:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokensFlushed" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 29, + "name": "ElementaryTypeName", + "src": "676:7:0" + } + ], + "id": 30, + "name": "VariableDeclaration", + "src": "676:28:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 34, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 31, + "name": "ElementaryTypeName", + "src": "747:4:0" + } + ], + "id": 32, + "name": "VariableDeclaration", + "src": "747:10:0" + } + ], + "id": 33, + "name": "ParameterList", + "src": "670:115:0" + } + ], + "id": 34, + "name": "EventDefinition", + "src": "651:135:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Forwarder", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 35, + "name": "ParameterList", + "src": "901:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 36, + "name": "ParameterList", + "src": "904:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 37, + "name": "Identifier", + "src": "910:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 38, + "name": "Identifier", + "src": "926:3:0" + } + ], + "id": 39, + "name": "MemberAccess", + "src": "926:10:0" + } + ], + "id": 40, + "name": "Assignment", + "src": "910:26:0" + } + ], + "id": 41, + "name": "ExpressionStatement", + "src": "910:26:0" + } + ], + "id": 42, + "name": "Block", + "src": "904:37:0" + } + ], + "id": 43, + "name": "FunctionDefinition", + "src": "883:58:0" + }, + { + "attributes": { + "name": "onlyParent", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 44, + "name": "ParameterList", + "src": "1086:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 45, + "name": "Identifier", + "src": "1096:3:0" + } + ], + "id": 46, + "name": "MemberAccess", + "src": "1096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 47, + "name": "Identifier", + "src": "1110:13:0" + } + ], + "id": 48, + "name": "BinaryOperation", + "src": "1096:27:0" + }, + { + "children": [ + { + "children": [], + "id": 49, + "name": "Throw", + "src": "1133:5:0" + } + ], + "id": 50, + "name": "Block", + "src": "1125:20:0" + } + ], + "id": 51, + "name": "IfStatement", + "src": "1092:53:0" + }, + { + "id": 52, + "name": "PlaceholderStatement", + "src": "1150:1:0" + } + ], + "id": 53, + "name": "Block", + "src": "1086:70:0" + } + ], + "id": 54, + "name": "ModifierDefinition", + "src": "1066:90:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 139, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 55, + "name": "ParameterList", + "src": "1283:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 56, + "name": "ParameterList", + "src": "1294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 57, + "name": "Identifier", + "src": "1305:13:0" + } + ], + "id": 58, + "name": "MemberAccess", + "src": "1305:18:0" + } + ], + "id": 59, + "name": "MemberAccess", + "src": "1305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 60, + "name": "Identifier", + "src": "1330:3:0" + } + ], + "id": 61, + "name": "MemberAccess", + "src": "1330:9:0" + } + ], + "id": 62, + "name": "FunctionCall", + "src": "1305:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 63, + "name": "Identifier", + "src": "1341:3:0" + } + ], + "id": 64, + "name": "MemberAccess", + "src": "1341:8:0" + } + ], + "id": 65, + "name": "FunctionCall", + "src": "1305:45:0" + } + ], + "id": 66, + "name": "UnaryOperation", + "src": "1304:46:0" + }, + { + "children": [], + "id": 67, + "name": "Throw", + "src": "1358:5:0" + } + ], + "id": 68, + "name": "IfStatement", + "src": "1300:63:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 28, + "type": "function (address,uint256,bytes memory)", + "value": "ForwarderDeposited" + }, + "id": 69, + "name": "Identifier", + "src": "1428:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 70, + "name": "Identifier", + "src": "1447:3:0" + } + ], + "id": 71, + "name": "MemberAccess", + "src": "1447:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 72, + "name": "Identifier", + "src": "1459:3:0" + } + ], + "id": 73, + "name": "MemberAccess", + "src": "1459:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 74, + "name": "Identifier", + "src": "1470:3:0" + } + ], + "id": 75, + "name": "MemberAccess", + "src": "1470:8:0" + } + ], + "id": 76, + "name": "FunctionCall", + "src": "1428:51:0" + } + ], + "id": 77, + "name": "ExpressionStatement", + "src": "1428:51:0" + } + ], + "id": 78, + "name": "Block", + "src": "1294:190:0" + } + ], + "id": 79, + "name": "FunctionDefinition", + "src": "1275:209:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushTokens", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 80, + "name": "ElementaryTypeName", + "src": "1697:7:0" + } + ], + "id": 81, + "name": "VariableDeclaration", + "src": "1697:28:0" + } + ], + "id": 82, + "name": "ParameterList", + "src": "1696:30:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 85, + "name": "ParameterList", + "src": "1738:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 54, + "type": "modifier ()", + "value": "onlyParent" + }, + "id": 83, + "name": "Identifier", + "src": "1727:10:0" + } + ], + "id": 84, + "name": "ModifierInvocation", + "src": "1727:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 87 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 86, + "name": "UserDefinedTypeName", + "src": "1744:14:0" + } + ], + "id": 87, + "name": "VariableDeclaration", + "src": "1744:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 88, + "name": "Identifier", + "src": "1770:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 89, + "name": "Identifier", + "src": "1785:20:0" + } + ], + "id": 90, + "name": "FunctionCall", + "src": "1770:36:0" + } + ], + "id": 91, + "name": "VariableDeclarationStatement", + "src": "1744:62:0" + }, + { + "attributes": { + "assignments": [ + 92 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 92, + "name": "VariableDeclaration", + "src": "1812:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Forwarder_$139", + "typeString": "contract Forwarder" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 93, + "name": "ElementaryTypeNameExpression", + "src": "1835:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 94, + "name": "Identifier", + "src": "1843:4:0" + } + ], + "id": 95, + "name": "FunctionCall", + "src": "1835:13:0" + } + ], + "id": 96, + "name": "VariableDeclarationStatement", + "src": "1812:36:0" + }, + { + "attributes": { + "assignments": [ + 97 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderBalance", + "scope": 124, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 97, + "name": "VariableDeclaration", + "src": "1854:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balanceOf", + "referencedDeclaration": 17, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 98, + "name": "Identifier", + "src": "1877:8:0" + } + ], + "id": 99, + "name": "MemberAccess", + "src": "1877:18:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 92, + "type": "address", + "value": "forwarderAddress" + }, + "id": 100, + "name": "Identifier", + "src": "1896:16:0" + } + ], + "id": 101, + "name": "FunctionCall", + "src": "1877:36:0" + } + ], + "id": 102, + "name": "VariableDeclarationStatement", + "src": "1854:59:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 103, + "name": "Identifier", + "src": "1923:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 104, + "name": "Literal", + "src": "1943:1:0" + } + ], + "id": 105, + "name": "BinaryOperation", + "src": "1923:21:0" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 85 + }, + "id": 106, + "name": "Return", + "src": "1954:7:0" + } + ], + "id": 107, + "name": "Block", + "src": "1946:21:0" + } + ], + "id": 108, + "name": "IfStatement", + "src": "1919:48:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 87, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 109, + "name": "Identifier", + "src": "1977:8:0" + } + ], + "id": 110, + "name": "MemberAccess", + "src": "1977:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 111, + "name": "Identifier", + "src": "1995:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 112, + "name": "Identifier", + "src": "2010:16:0" + } + ], + "id": 113, + "name": "FunctionCall", + "src": "1977:50:0" + } + ], + "id": 114, + "name": "UnaryOperation", + "src": "1976:51:0" + }, + { + "children": [ + { + "children": [], + "id": 115, + "name": "Throw", + "src": "2037:5:0" + } + ], + "id": 116, + "name": "Block", + "src": "2029:20:0" + } + ], + "id": 117, + "name": "IfStatement", + "src": "1972:77:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 34, + "type": "function (address,uint256)", + "value": "TokensFlushed" + }, + "id": 118, + "name": "Identifier", + "src": "2054:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 81, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 119, + "name": "Identifier", + "src": "2068:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 97, + "type": "uint256", + "value": "forwarderBalance" + }, + "id": 120, + "name": "Identifier", + "src": "2090:16:0" + } + ], + "id": 121, + "name": "FunctionCall", + "src": "2054:53:0" + } + ], + "id": 122, + "name": "ExpressionStatement", + "src": "2054:53:0" + } + ], + "id": 123, + "name": "Block", + "src": "1738:374:0" + } + ], + "id": 124, + "name": "FunctionDefinition", + "src": "1676:436:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "flush", + "payable": false, + "scope": 139, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 125, + "name": "ParameterList", + "src": "2291:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 126, + "name": "ParameterList", + "src": "2294:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 20, + "type": "address", + "value": "parentAddress" + }, + "id": 127, + "name": "Identifier", + "src": "2305:13:0" + } + ], + "id": 128, + "name": "MemberAccess", + "src": "2305:18:0" + } + ], + "id": 129, + "name": "MemberAccess", + "src": "2305:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "balance", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 679, + "type": "contract Forwarder", + "value": "this" + }, + "id": 130, + "name": "Identifier", + "src": "2330:4:0" + } + ], + "id": 131, + "name": "MemberAccess", + "src": "2330:12:0" + } + ], + "id": 132, + "name": "FunctionCall", + "src": "2305:38:0" + } + ], + "id": 133, + "name": "FunctionCall", + "src": "2305:40:0" + } + ], + "id": 134, + "name": "UnaryOperation", + "src": "2304:41:0" + }, + { + "children": [], + "id": 135, + "name": "Throw", + "src": "2353:5:0" + } + ], + "id": 136, + "name": "IfStatement", + "src": "2300:58:0" + } + ], + "id": 137, + "name": "Block", + "src": "2294:69:0" + } + ], + "id": 138, + "name": "FunctionDefinition", + "src": "2277:86:0" + } + ], + "id": 139, + "name": "ContractDefinition", + "src": "457:1908:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + 139 + ], + "contractKind": "contract", + "documentation": "Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\nTypically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 654 + ], + "name": "WalletSimple", + "scope": 655 + }, + "children": [ + { + "attributes": { + "anonymous": false, + "name": "Deposited" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "from", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 140, + "name": "ElementaryTypeName", + "src": "2669:7:0" + } + ], + "id": 141, + "name": "VariableDeclaration", + "src": "2669:12:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 142, + "name": "ElementaryTypeName", + "src": "2683:4:0" + } + ], + "id": 143, + "name": "VariableDeclaration", + "src": "2683:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 147, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 144, + "name": "ElementaryTypeName", + "src": "2695:5:0" + } + ], + "id": 145, + "name": "VariableDeclaration", + "src": "2695:10:0" + } + ], + "id": 146, + "name": "ParameterList", + "src": "2668:38:0" + } + ], + "id": 147, + "name": "EventDefinition", + "src": "2653:54:0" + }, + { + "attributes": { + "anonymous": false, + "name": "SafeModeActivated" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 151, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 148, + "name": "ElementaryTypeName", + "src": "2734:7:0" + } + ], + "id": 149, + "name": "VariableDeclaration", + "src": "2734:17:0" + } + ], + "id": 150, + "name": "ParameterList", + "src": "2733:19:0" + } + ], + "id": 151, + "name": "EventDefinition", + "src": "2710:43:0" + }, + { + "attributes": { + "anonymous": false, + "name": "Transacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 152, + "name": "ElementaryTypeName", + "src": "2778:7:0" + } + ], + "id": 153, + "name": "VariableDeclaration", + "src": "2778:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 154, + "name": "ElementaryTypeName", + "src": "2868:7:0" + } + ], + "id": 155, + "name": "VariableDeclaration", + "src": "2868:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 156, + "name": "ElementaryTypeName", + "src": "2970:7:0" + } + ], + "id": 157, + "name": "VariableDeclaration", + "src": "2970:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 158, + "name": "ElementaryTypeName", + "src": "3068:7:0" + } + ], + "id": 159, + "name": "VariableDeclaration", + "src": "3068:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 160, + "name": "ElementaryTypeName", + "src": "3134:4:0" + } + ], + "id": 161, + "name": "VariableDeclaration", + "src": "3134:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "data", + "scope": 165, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 162, + "name": "ElementaryTypeName", + "src": "3187:5:0" + } + ], + "id": 163, + "name": "VariableDeclaration", + "src": "3187:10:0" + } + ], + "id": 164, + "name": "ParameterList", + "src": "2772:472:0" + } + ], + "id": 165, + "name": "EventDefinition", + "src": "2756:489:0" + }, + { + "attributes": { + "anonymous": false, + "name": "TokenTransacted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "msgSender", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 166, + "name": "ElementaryTypeName", + "src": "3275:7:0" + } + ], + "id": 167, + "name": "VariableDeclaration", + "src": "3275:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "otherSigner", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 168, + "name": "ElementaryTypeName", + "src": "3365:7:0" + } + ], + "id": 169, + "name": "VariableDeclaration", + "src": "3365:19:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "operation", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 170, + "name": "ElementaryTypeName", + "src": "3467:7:0" + } + ], + "id": 171, + "name": "VariableDeclaration", + "src": "3467:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "toAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 172, + "name": "ElementaryTypeName", + "src": "3581:7:0" + } + ], + "id": 173, + "name": "VariableDeclaration", + "src": "3581:17:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 174, + "name": "ElementaryTypeName", + "src": "3647:4:0" + } + ], + "id": 175, + "name": "VariableDeclaration", + "src": "3647:10:0" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenContractAddress", + "scope": 179, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 176, + "name": "ElementaryTypeName", + "src": "3687:7:0" + } + ], + "id": 177, + "name": "VariableDeclaration", + "src": "3687:28:0" + } + ], + "id": 178, + "name": "ParameterList", + "src": "3269:487:0" + } + ], + "id": 179, + "name": "EventDefinition", + "src": "3248:509:0" + }, + { + "attributes": { + "constant": false, + "name": "signers", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "address[] storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 180, + "name": "ElementaryTypeName", + "src": "3780:7:0" + } + ], + "id": 181, + "name": "ArrayTypeName", + "src": "3780:9:0" + } + ], + "id": 182, + "name": "VariableDeclaration", + "src": "3780:24:0" + }, + { + "attributes": { + "constant": false, + "name": "safeMode", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 183, + "name": "ElementaryTypeName", + "src": "3869:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 184, + "name": "Literal", + "src": "3892:5:0" + } + ], + "id": 185, + "name": "VariableDeclaration", + "src": "3869:28:0" + }, + { + "attributes": { + "constant": true, + "name": "SEQUENCE_ID_WINDOW_SIZE", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 186, + "name": "ElementaryTypeName", + "src": "3980:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 187, + "name": "Literal", + "src": "4020:2:0" + } + ], + "id": 188, + "name": "VariableDeclaration", + "src": "3980:42:0" + }, + { + "attributes": { + "constant": false, + "name": "recentSequenceIds", + "scope": 654, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256[10] storage ref", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[10] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 189, + "name": "ElementaryTypeName", + "src": "4026:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 190, + "name": "Literal", + "src": "4031:2:0" + } + ], + "id": 191, + "name": "ArrayTypeName", + "src": "4026:8:0" + } + ], + "id": 192, + "name": "VariableDeclaration", + "src": "4026:26:0" + }, + { + "attributes": { + "name": "onlysigner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 193, + "name": "ParameterList", + "src": "4199:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 194, + "name": "Identifier", + "src": "4210:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 195, + "name": "Identifier", + "src": "4219:3:0" + } + ], + "id": 196, + "name": "MemberAccess", + "src": "4219:10:0" + } + ], + "id": 197, + "name": "FunctionCall", + "src": "4210:20:0" + } + ], + "id": 198, + "name": "UnaryOperation", + "src": "4209:21:0" + }, + { + "children": [ + { + "children": [], + "id": 199, + "name": "Throw", + "src": "4240:5:0" + } + ], + "id": 200, + "name": "Block", + "src": "4232:20:0" + } + ], + "id": 201, + "name": "IfStatement", + "src": "4205:47:0" + }, + { + "id": 202, + "name": "PlaceholderStatement", + "src": "4257:1:0" + } + ], + "id": 203, + "name": "Block", + "src": "4199:64:0" + } + ], + "id": 204, + "name": "ModifierDefinition", + "src": "4179:84:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "WalletSimple", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "allowedSigners", + "scope": 222, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 205, + "name": "ElementaryTypeName", + "src": "4660:7:0" + } + ], + "id": 206, + "name": "ArrayTypeName", + "src": "4660:9:0" + } + ], + "id": 207, + "name": "VariableDeclaration", + "src": "4660:24:0" + } + ], + "id": 208, + "name": "ParameterList", + "src": "4659:26:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 209, + "name": "ParameterList", + "src": "4686:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 210, + "name": "Identifier", + "src": "4696:14:0" + } + ], + "id": 211, + "name": "MemberAccess", + "src": "4696:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 212, + "name": "Literal", + "src": "4721:1:0" + } + ], + "id": 213, + "name": "BinaryOperation", + "src": "4696:26:0" + }, + { + "children": [ + { + "children": [], + "id": 214, + "name": "Throw", + "src": "4767:5:0" + } + ], + "id": 215, + "name": "Block", + "src": "4724:55:0" + } + ], + "id": 216, + "name": "IfStatement", + "src": "4692:87:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 217, + "name": "Identifier", + "src": "4784:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 207, + "type": "address[] memory", + "value": "allowedSigners" + }, + "id": 218, + "name": "Identifier", + "src": "4794:14:0" + } + ], + "id": 219, + "name": "Assignment", + "src": "4784:24:0" + } + ], + "id": 220, + "name": "ExpressionStatement", + "src": "4784:24:0" + } + ], + "id": 221, + "name": "Block", + "src": "4686:127:0" + } + ], + "id": 222, + "name": "FunctionDefinition", + "src": "4638:175:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 654, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 223, + "name": "ParameterList", + "src": "4910:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 224, + "name": "ParameterList", + "src": "4921:0:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 225, + "name": "Identifier", + "src": "4931:3:0" + } + ], + "id": 226, + "name": "MemberAccess", + "src": "4931:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 227, + "name": "Literal", + "src": "4943:1:0" + } + ], + "id": 228, + "name": "BinaryOperation", + "src": "4931:13:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "function (address,uint256,bytes memory)", + "value": "Deposited" + }, + "id": 229, + "name": "Identifier", + "src": "5010:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 230, + "name": "Identifier", + "src": "5020:3:0" + } + ], + "id": 231, + "name": "MemberAccess", + "src": "5020:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 232, + "name": "Identifier", + "src": "5032:3:0" + } + ], + "id": 233, + "name": "MemberAccess", + "src": "5032:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "data", + "referencedDeclaration": null, + "type": "bytes calldata" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 234, + "name": "Identifier", + "src": "5043:3:0" + } + ], + "id": 235, + "name": "MemberAccess", + "src": "5043:8:0" + } + ], + "id": 236, + "name": "FunctionCall", + "src": "5010:42:0" + } + ], + "id": 237, + "name": "ExpressionStatement", + "src": "5010:42:0" + } + ], + "id": 238, + "name": "Block", + "src": "4946:113:0" + } + ], + "id": 239, + "name": "IfStatement", + "src": "4927:132:0" + } + ], + "id": 240, + "name": "Block", + "src": "4921:142:0" + } + ], + "id": 241, + "name": "FunctionDefinition", + "src": "4902:161:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "createForwarder", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 242, + "name": "ParameterList", + "src": "5242:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 253, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 245, + "name": "ElementaryTypeName", + "src": "5265:7:0" + } + ], + "id": 246, + "name": "VariableDeclaration", + "src": "5265:7:0" + } + ], + "id": 247, + "name": "ParameterList", + "src": "5264:9:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 243, + "name": "Identifier", + "src": "5245:10:0" + } + ], + "id": 244, + "name": "ModifierInvocation", + "src": "5245:10:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 247 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function () returns (contract Forwarder)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 248, + "name": "UserDefinedTypeName", + "src": "5291:9:0" + } + ], + "id": 249, + "name": "NewExpression", + "src": "5287:13:0" + } + ], + "id": 250, + "name": "FunctionCall", + "src": "5287:15:0" + } + ], + "id": 251, + "name": "Return", + "src": "5280:22:0" + } + ], + "id": 252, + "name": "Block", + "src": "5274:33:0" + } + ], + "id": 253, + "name": "FunctionDefinition", + "src": "5218:89:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 254, + "name": "ElementaryTypeName", + "src": "6207:7:0" + } + ], + "id": 255, + "name": "VariableDeclaration", + "src": "6207:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 256, + "name": "ElementaryTypeName", + "src": "6226:4:0" + } + ], + "id": 257, + "name": "VariableDeclaration", + "src": "6226:10:0" + }, + { + "attributes": { + "constant": false, + "name": "data", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 258, + "name": "ElementaryTypeName", + "src": "6238:5:0" + } + ], + "id": 259, + "name": "VariableDeclaration", + "src": "6238:10:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 260, + "name": "ElementaryTypeName", + "src": "6250:4:0" + } + ], + "id": 261, + "name": "VariableDeclaration", + "src": "6250:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 262, + "name": "ElementaryTypeName", + "src": "6267:4:0" + } + ], + "id": 263, + "name": "VariableDeclaration", + "src": "6267:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 264, + "name": "ElementaryTypeName", + "src": "6284:5:0" + } + ], + "id": 265, + "name": "VariableDeclaration", + "src": "6284:15:0" + } + ], + "id": 266, + "name": "ParameterList", + "src": "6206:94:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 269, + "name": "ParameterList", + "src": "6312:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 267, + "name": "Identifier", + "src": "6301:10:0" + } + ], + "id": 268, + "name": "ModifierInvocation", + "src": "6301:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 270 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 270, + "name": "VariableDeclaration", + "src": "6349:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_10516e70ec8c5048d00c1cd49852831bc8997d009e9f6718ca31f63fc81f1f25", + "typeString": "literal_string \"ETHER\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 271, + "name": "Identifier", + "src": "6369:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4554484552", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ETHER\"", + "value": "ETHER" + }, + "id": 272, + "name": "Literal", + "src": "6374:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 273, + "name": "Identifier", + "src": "6383:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 274, + "name": "Identifier", + "src": "6394:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 275, + "name": "Identifier", + "src": "6401:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 276, + "name": "Identifier", + "src": "6407:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 277, + "name": "Identifier", + "src": "6419:10:0" + } + ], + "id": 278, + "name": "FunctionCall", + "src": "6369:61:0" + } + ], + "id": 279, + "name": "VariableDeclarationStatement", + "src": "6349:81:0" + }, + { + "attributes": { + "assignments": [ + 280 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 280, + "name": "VariableDeclaration", + "src": "6441:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 281, + "name": "Identifier", + "src": "6459:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 282, + "name": "Identifier", + "src": "6474:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 283, + "name": "Identifier", + "src": "6485:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 265, + "type": "bytes memory", + "value": "signature" + }, + "id": 284, + "name": "Identifier", + "src": "6500:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 261, + "type": "uint256", + "value": "expireTime" + }, + "id": 285, + "name": "Identifier", + "src": "6511:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 263, + "type": "uint256", + "value": "sequenceId" + }, + "id": 286, + "name": "Identifier", + "src": "6523:10:0" + } + ], + "id": 287, + "name": "FunctionCall", + "src": "6459:75:0" + } + ], + "id": 288, + "name": "VariableDeclarationStatement", + "src": "6441:93:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function () payable returns (bool)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function () payable returns (bool))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "call", + "referencedDeclaration": null, + "type": "function () payable returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 289, + "name": "Identifier", + "src": "6584:9:0" + } + ], + "id": 290, + "name": "MemberAccess", + "src": "6584:14:0" + } + ], + "id": 291, + "name": "MemberAccess", + "src": "6584:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 292, + "name": "Identifier", + "src": "6605:5:0" + } + ], + "id": 293, + "name": "FunctionCall", + "src": "6584:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 294, + "name": "Identifier", + "src": "6612:4:0" + } + ], + "id": 295, + "name": "FunctionCall", + "src": "6584:33:0" + } + ], + "id": 296, + "name": "TupleExpression", + "src": "6583:35:0" + } + ], + "id": 297, + "name": "UnaryOperation", + "src": "6582:36:0" + }, + { + "children": [ + { + "children": [], + "id": 298, + "name": "Throw", + "src": "6666:5:0" + } + ], + "id": 299, + "name": "Block", + "src": "6620:58:0" + } + ], + "id": 300, + "name": "IfStatement", + "src": "6578:100:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 165, + "type": "function (address,address,bytes32,address,uint256,bytes memory)", + "value": "Transacted" + }, + "id": 301, + "name": "Identifier", + "src": "6683:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 302, + "name": "Identifier", + "src": "6694:3:0" + } + ], + "id": 303, + "name": "MemberAccess", + "src": "6694:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 280, + "type": "address", + "value": "otherSigner" + }, + "id": 304, + "name": "Identifier", + "src": "6706:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 270, + "type": "bytes32", + "value": "operationHash" + }, + "id": 305, + "name": "Identifier", + "src": "6719:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 255, + "type": "address", + "value": "toAddress" + }, + "id": 306, + "name": "Identifier", + "src": "6734:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 257, + "type": "uint256", + "value": "value" + }, + "id": 307, + "name": "Identifier", + "src": "6745:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 259, + "type": "bytes memory", + "value": "data" + }, + "id": 308, + "name": "Identifier", + "src": "6752:4:0" + } + ], + "id": 309, + "name": "FunctionCall", + "src": "6683:74:0" + } + ], + "id": 310, + "name": "ExpressionStatement", + "src": "6683:74:0" + } + ], + "id": 311, + "name": "Block", + "src": "6312:450:0" + } + ], + "id": 312, + "name": "FunctionDefinition", + "src": "6185:577:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendMultiSigToken", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 313, + "name": "ElementaryTypeName", + "src": "7699:7:0" + } + ], + "id": 314, + "name": "VariableDeclaration", + "src": "7699:17:0" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 315, + "name": "ElementaryTypeName", + "src": "7718:4:0" + } + ], + "id": 316, + "name": "VariableDeclaration", + "src": "7718:10:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 317, + "name": "ElementaryTypeName", + "src": "7730:7:0" + } + ], + "id": 318, + "name": "VariableDeclaration", + "src": "7730:28:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 319, + "name": "ElementaryTypeName", + "src": "7760:4:0" + } + ], + "id": 320, + "name": "VariableDeclaration", + "src": "7760:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 321, + "name": "ElementaryTypeName", + "src": "7777:4:0" + } + ], + "id": 322, + "name": "VariableDeclaration", + "src": "7777:15:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 323, + "name": "ElementaryTypeName", + "src": "7794:5:0" + } + ], + "id": 324, + "name": "VariableDeclaration", + "src": "7794:15:0" + } + ], + "id": 325, + "name": "ParameterList", + "src": "7698:112:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 328, + "name": "ParameterList", + "src": "7822:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 326, + "name": "Identifier", + "src": "7811:10:0" + } + ], + "id": 327, + "name": "ModifierInvocation", + "src": "7811:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 329 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 329, + "name": "VariableDeclaration", + "src": "7859:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ae85d849167ff996c04040c44924fd364217285e4cad818292c7ac37c0a345b", + "typeString": "literal_string \"ERC20\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 674, + "type": "function () pure returns (bytes32)", + "value": "sha3" + }, + "id": 330, + "name": "Identifier", + "src": "7879:4:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "4552433230", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"ERC20\"", + "value": "ERC20" + }, + "id": 331, + "name": "Literal", + "src": "7884:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 332, + "name": "Identifier", + "src": "7893:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 333, + "name": "Identifier", + "src": "7904:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 334, + "name": "Identifier", + "src": "7911:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 335, + "name": "Identifier", + "src": "7933:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 336, + "name": "Identifier", + "src": "7945:10:0" + } + ], + "id": 337, + "name": "FunctionCall", + "src": "7879:77:0" + } + ], + "id": 338, + "name": "VariableDeclarationStatement", + "src": "7859:97:0" + }, + { + "attributes": { + "assignments": [ + 339 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 339, + "name": "VariableDeclaration", + "src": "7967:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 454, + "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", + "value": "verifyMultiSig" + }, + "id": 340, + "name": "Identifier", + "src": "7985:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 341, + "name": "Identifier", + "src": "8000:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 342, + "name": "Identifier", + "src": "8011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 324, + "type": "bytes memory", + "value": "signature" + }, + "id": 343, + "name": "Identifier", + "src": "8026:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 320, + "type": "uint256", + "value": "expireTime" + }, + "id": 344, + "name": "Identifier", + "src": "8037:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 322, + "type": "uint256", + "value": "sequenceId" + }, + "id": 345, + "name": "Identifier", + "src": "8049:10:0" + } + ], + "id": 346, + "name": "FunctionCall", + "src": "7985:75:0" + } + ], + "id": 347, + "name": "VariableDeclarationStatement", + "src": "7967:93:0" + }, + { + "attributes": { + "assignments": [ + 349 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "instance", + "scope": 374, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ERC20Interface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Interface", + "referencedDeclaration": 18, + "type": "contract ERC20Interface" + }, + "id": 348, + "name": "UserDefinedTypeName", + "src": "8071:14:0" + } + ], + "id": 349, + "name": "VariableDeclaration", + "src": "8071:23:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ERC20Interface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 18, + "type": "type(contract ERC20Interface)", + "value": "ERC20Interface" + }, + "id": 350, + "name": "Identifier", + "src": "8097:14:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 351, + "name": "Identifier", + "src": "8112:20:0" + } + ], + "id": 352, + "name": "FunctionCall", + "src": "8097:36:0" + } + ], + "id": 353, + "name": "VariableDeclarationStatement", + "src": "8071:62:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 10, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 349, + "type": "contract ERC20Interface", + "value": "instance" + }, + "id": 354, + "name": "Identifier", + "src": "8144:8:0" + } + ], + "id": 355, + "name": "MemberAccess", + "src": "8144:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 356, + "name": "Identifier", + "src": "8162:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 357, + "name": "Identifier", + "src": "8173:5:0" + } + ], + "id": 358, + "name": "FunctionCall", + "src": "8144:35:0" + } + ], + "id": 359, + "name": "UnaryOperation", + "src": "8143:36:0" + }, + { + "children": [ + { + "children": [], + "id": 360, + "name": "Throw", + "src": "8191:5:0" + } + ], + "id": 361, + "name": "Block", + "src": "8181:22:0" + } + ], + "id": 362, + "name": "IfStatement", + "src": "8139:64:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 179, + "type": "function (address,address,bytes32,address,uint256,address)", + "value": "TokenTransacted" + }, + "id": 363, + "name": "Identifier", + "src": "8208:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 364, + "name": "Identifier", + "src": "8224:3:0" + } + ], + "id": 365, + "name": "MemberAccess", + "src": "8224:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 339, + "type": "address", + "value": "otherSigner" + }, + "id": 366, + "name": "Identifier", + "src": "8236:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 329, + "type": "bytes32", + "value": "operationHash" + }, + "id": 367, + "name": "Identifier", + "src": "8249:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 314, + "type": "address", + "value": "toAddress" + }, + "id": 368, + "name": "Identifier", + "src": "8264:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 316, + "type": "uint256", + "value": "value" + }, + "id": 369, + "name": "Identifier", + "src": "8275:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 318, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 370, + "name": "Identifier", + "src": "8282:20:0" + } + ], + "id": 371, + "name": "FunctionCall", + "src": "8208:95:0" + } + ], + "id": 372, + "name": "ExpressionStatement", + "src": "8208:95:0" + } + ], + "id": 373, + "name": "Block", + "src": "7822:486:0" + } + ], + "id": 374, + "name": "FunctionDefinition", + "src": "7672:636:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "flushForwarderTokens", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarderAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 375, + "name": "ElementaryTypeName", + "src": "8661:7:0" + } + ], + "id": 376, + "name": "VariableDeclaration", + "src": "8661:24:0" + }, + { + "attributes": { + "constant": false, + "name": "tokenContractAddress", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 377, + "name": "ElementaryTypeName", + "src": "8687:7:0" + } + ], + "id": 378, + "name": "VariableDeclaration", + "src": "8687:28:0" + } + ], + "id": 379, + "name": "ParameterList", + "src": "8660:56:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 382, + "name": "ParameterList", + "src": "8728:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 380, + "name": "Identifier", + "src": "8717:10:0" + } + ], + "id": 381, + "name": "ModifierInvocation", + "src": "8717:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 384 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "forwarder", + "scope": 396, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Forwarder", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Forwarder", + "referencedDeclaration": 139, + "type": "contract Forwarder" + }, + "id": 383, + "name": "UserDefinedTypeName", + "src": "8738:9:0" + } + ], + "id": 384, + "name": "VariableDeclaration", + "src": "8738:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Forwarder", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 139, + "type": "type(contract Forwarder)", + "value": "Forwarder" + }, + "id": 385, + "name": "Identifier", + "src": "8760:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 376, + "type": "address", + "value": "forwarderAddress" + }, + "id": 386, + "name": "Identifier", + "src": "8770:16:0" + } + ], + "id": 387, + "name": "FunctionCall", + "src": "8760:27:0" + } + ], + "id": 388, + "name": "VariableDeclarationStatement", + "src": "8738:49:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "flushTokens", + "referencedDeclaration": 124, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 384, + "type": "contract Forwarder", + "value": "forwarder" + }, + "id": 389, + "name": "Identifier", + "src": "8793:9:0" + } + ], + "id": 391, + "name": "MemberAccess", + "src": "8793:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 378, + "type": "address", + "value": "tokenContractAddress" + }, + "id": 392, + "name": "Identifier", + "src": "8815:20:0" + } + ], + "id": 393, + "name": "FunctionCall", + "src": "8793:43:0" + } + ], + "id": 394, + "name": "ExpressionStatement", + "src": "8793:43:0" + } + ], + "id": 395, + "name": "Block", + "src": "8728:113:0" + } + ], + "id": 396, + "name": "FunctionDefinition", + "src": "8631:210:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "verifyMultiSig", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "toAddress", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 397, + "name": "ElementaryTypeName", + "src": "9496:7:0" + } + ], + "id": 398, + "name": "VariableDeclaration", + "src": "9496:17:0" + }, + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 399, + "name": "ElementaryTypeName", + "src": "9515:7:0" + } + ], + "id": 400, + "name": "VariableDeclaration", + "src": "9515:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 401, + "name": "ElementaryTypeName", + "src": "9538:5:0" + } + ], + "id": 402, + "name": "VariableDeclaration", + "src": "9538:15:0" + }, + { + "attributes": { + "constant": false, + "name": "expireTime", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 403, + "name": "ElementaryTypeName", + "src": "9555:4:0" + } + ], + "id": 404, + "name": "VariableDeclaration", + "src": "9555:15:0" + }, + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 405, + "name": "ElementaryTypeName", + "src": "9572:4:0" + } + ], + "id": 406, + "name": "VariableDeclaration", + "src": "9572:15:0" + } + ], + "id": 407, + "name": "ParameterList", + "src": "9495:93:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 408, + "name": "ElementaryTypeName", + "src": "9606:7:0" + } + ], + "id": 409, + "name": "VariableDeclaration", + "src": "9606:7:0" + } + ], + "id": 410, + "name": "ParameterList", + "src": "9605:9:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 411 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "otherSigner", + "scope": 454, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "typeName": null, + "value": null, + "visibility": "internal" + }, + "children": [], + "id": 411, + "name": "VariableDeclaration", + "src": "9622:15:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 544, + "type": "function (bytes32,bytes memory) returns (address)", + "value": "recoverAddressFromSignature" + }, + "id": 412, + "name": "Identifier", + "src": "9640:27:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 400, + "type": "bytes32", + "value": "operationHash" + }, + "id": 413, + "name": "Identifier", + "src": "9668:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 402, + "type": "bytes memory", + "value": "signature" + }, + "id": 414, + "name": "Identifier", + "src": "9683:9:0" + } + ], + "id": 415, + "name": "FunctionCall", + "src": "9640:53:0" + } + ], + "id": 416, + "name": "VariableDeclarationStatement", + "src": "9622:71:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 417, + "name": "Identifier", + "src": "9792:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 418, + "name": "Identifier", + "src": "9805:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 398, + "type": "address", + "value": "toAddress" + }, + "id": 419, + "name": "Identifier", + "src": "9814:9:0" + } + ], + "id": 420, + "name": "FunctionCall", + "src": "9805:19:0" + } + ], + "id": 421, + "name": "UnaryOperation", + "src": "9804:20:0" + } + ], + "id": 422, + "name": "BinaryOperation", + "src": "9792:32:0" + }, + { + "children": [ + { + "children": [], + "id": 423, + "name": "Throw", + "src": "9908:5:0" + } + ], + "id": 424, + "name": "Block", + "src": "9826:94:0" + } + ], + "id": 425, + "name": "IfStatement", + "src": "9788:132:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 404, + "type": "uint256", + "value": "expireTime" + }, + "id": 426, + "name": "Identifier", + "src": "9980:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "timestamp", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 658, + "type": "block", + "value": "block" + }, + "id": 427, + "name": "Identifier", + "src": "9993:5:0" + } + ], + "id": 428, + "name": "MemberAccess", + "src": "9993:15:0" + } + ], + "id": 429, + "name": "BinaryOperation", + "src": "9980:28:0" + }, + { + "children": [ + { + "children": [], + "id": 430, + "name": "Throw", + "src": "10047:5:0" + } + ], + "id": 431, + "name": "Block", + "src": "10010:49:0" + } + ], + "id": 432, + "name": "IfStatement", + "src": "9976:83:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 614, + "type": "function (uint256)", + "value": "tryInsertSequenceId" + }, + "id": 433, + "name": "Identifier", + "src": "10145:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 406, + "type": "uint256", + "value": "sequenceId" + }, + "id": 434, + "name": "Identifier", + "src": "10165:10:0" + } + ], + "id": 435, + "name": "FunctionCall", + "src": "10145:31:0" + } + ], + "id": 436, + "name": "ExpressionStatement", + "src": "10145:31:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 501, + "type": "function (address) returns (bool)", + "value": "isSigner" + }, + "id": 437, + "name": "Identifier", + "src": "10188:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 438, + "name": "Identifier", + "src": "10197:11:0" + } + ], + "id": 439, + "name": "FunctionCall", + "src": "10188:21:0" + } + ], + "id": 440, + "name": "UnaryOperation", + "src": "10187:22:0" + }, + { + "children": [ + { + "children": [], + "id": 441, + "name": "Throw", + "src": "10298:5:0" + } + ], + "id": 442, + "name": "Block", + "src": "10211:99:0" + } + ], + "id": 443, + "name": "IfStatement", + "src": "10183:127:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 444, + "name": "Identifier", + "src": "10319:11:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 445, + "name": "Identifier", + "src": "10334:3:0" + } + ], + "id": 446, + "name": "MemberAccess", + "src": "10334:10:0" + } + ], + "id": 447, + "name": "BinaryOperation", + "src": "10319:25:0" + }, + { + "children": [ + { + "children": [], + "id": 448, + "name": "Throw", + "src": "10394:5:0" + } + ], + "id": 449, + "name": "Block", + "src": "10346:60:0" + } + ], + "id": 450, + "name": "IfStatement", + "src": "10315:91:0" + }, + { + "attributes": { + "functionReturnParameters": 410 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 411, + "type": "address", + "value": "otherSigner" + }, + "id": 451, + "name": "Identifier", + "src": "10419:11:0" + } + ], + "id": 452, + "name": "Return", + "src": "10412:18:0" + } + ], + "id": 453, + "name": "Block", + "src": "9615:820:0" + } + ], + "id": 454, + "name": "FunctionDefinition", + "src": "9472:963:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "activateSafeMode", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 455, + "name": "ParameterList", + "src": "10594:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 458, + "name": "ParameterList", + "src": "10608:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 456, + "name": "Identifier", + "src": "10597:10:0" + } + ], + "id": 457, + "name": "ModifierInvocation", + "src": "10597:10:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "bool", + "value": "safeMode" + }, + "id": 459, + "name": "Identifier", + "src": "10614:8:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 460, + "name": "Literal", + "src": "10625:4:0" + } + ], + "id": 461, + "name": "Assignment", + "src": "10614:15:0" + } + ], + "id": 462, + "name": "ExpressionStatement", + "src": "10614:15:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 151, + "type": "function (address)", + "value": "SafeModeActivated" + }, + "id": 463, + "name": "Identifier", + "src": "10635:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 666, + "type": "msg", + "value": "msg" + }, + "id": 464, + "name": "Identifier", + "src": "10653:3:0" + } + ], + "id": 465, + "name": "MemberAccess", + "src": "10653:10:0" + } + ], + "id": 466, + "name": "FunctionCall", + "src": "10635:29:0" + } + ], + "id": 467, + "name": "ExpressionStatement", + "src": "10635:29:0" + } + ], + "id": 468, + "name": "Block", + "src": "10608:61:0" + } + ], + "id": 469, + "name": "FunctionDefinition", + "src": "10569:100:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isSigner", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "signer", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 470, + "name": "ElementaryTypeName", + "src": "10860:7:0" + } + ], + "id": 471, + "name": "VariableDeclaration", + "src": "10860:14:0" + } + ], + "id": 472, + "name": "ParameterList", + "src": "10859:16:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 473, + "name": "ElementaryTypeName", + "src": "10885:4:0" + } + ], + "id": 474, + "name": "VariableDeclaration", + "src": "10885:4:0" + } + ], + "id": 475, + "name": "ParameterList", + "src": "10884:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 477 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 501, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 476, + "name": "ElementaryTypeName", + "src": "10955:4:0" + } + ], + "id": 477, + "name": "VariableDeclaration", + "src": "10955:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 478, + "name": "Literal", + "src": "10964:1:0" + } + ], + "id": 479, + "name": "VariableDeclarationStatement", + "src": "10955:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 480, + "name": "Identifier", + "src": "10967:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 481, + "name": "Identifier", + "src": "10971:7:0" + } + ], + "id": 482, + "name": "MemberAccess", + "src": "10971:14:0" + } + ], + "id": 483, + "name": "BinaryOperation", + "src": "10967:18:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 484, + "name": "Identifier", + "src": "10987:1:0" + } + ], + "id": 485, + "name": "UnaryOperation", + "src": "10987:3:0" + } + ], + "id": 486, + "name": "ExpressionStatement", + "src": "10987:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 182, + "type": "address[] storage ref", + "value": "signers" + }, + "id": 487, + "name": "Identifier", + "src": "11004:7:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 477, + "type": "uint256", + "value": "i" + }, + "id": 488, + "name": "Identifier", + "src": "11012:1:0" + } + ], + "id": 489, + "name": "IndexAccess", + "src": "11004:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 471, + "type": "address", + "value": "signer" + }, + "id": 490, + "name": "Identifier", + "src": "11018:6:0" + } + ], + "id": 491, + "name": "BinaryOperation", + "src": "11004:20:0" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 492, + "name": "Literal", + "src": "11043:4:0" + } + ], + "id": 493, + "name": "Return", + "src": "11036:11:0" + } + ], + "id": 494, + "name": "Block", + "src": "11026:30:0" + } + ], + "id": 495, + "name": "IfStatement", + "src": "11000:56:0" + } + ], + "id": 496, + "name": "Block", + "src": "10992:70:0" + } + ], + "id": 497, + "name": "ForStatement", + "src": "10950:112:0" + }, + { + "attributes": { + "functionReturnParameters": 475 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 498, + "name": "Literal", + "src": "11074:5:0" + } + ], + "id": 499, + "name": "Return", + "src": "11067:12:0" + } + ], + "id": 500, + "name": "Block", + "src": "10891:193:0" + } + ], + "id": 501, + "name": "FunctionDefinition", + "src": "10842:242:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "recoverAddressFromSignature", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "operationHash", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 502, + "name": "ElementaryTypeName", + "src": "11455:7:0" + } + ], + "id": 503, + "name": "VariableDeclaration", + "src": "11455:21:0" + }, + { + "attributes": { + "constant": false, + "name": "signature", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 504, + "name": "ElementaryTypeName", + "src": "11478:5:0" + } + ], + "id": 505, + "name": "VariableDeclaration", + "src": "11478:15:0" + } + ], + "id": 506, + "name": "ParameterList", + "src": "11454:40:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 507, + "name": "ElementaryTypeName", + "src": "11512:7:0" + } + ], + "id": 508, + "name": "VariableDeclaration", + "src": "11512:7:0" + } + ], + "id": 509, + "name": "ParameterList", + "src": "11511:9:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 505, + "type": "bytes memory", + "value": "signature" + }, + "id": 510, + "name": "Identifier", + "src": "11531:9:0" + } + ], + "id": 511, + "name": "MemberAccess", + "src": "11531:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3635", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 65", + "value": "65" + }, + "id": 512, + "name": "Literal", + "src": "11551:2:0" + } + ], + "id": 513, + "name": "BinaryOperation", + "src": "11531:22:0" + }, + { + "children": [ + { + "children": [], + "id": 514, + "name": "Throw", + "src": "11563:5:0" + } + ], + "id": 515, + "name": "Block", + "src": "11555:20:0" + } + ], + "id": 516, + "name": "IfStatement", + "src": "11527:48:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "r", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 517, + "name": "ElementaryTypeName", + "src": "11675:7:0" + } + ], + "id": 518, + "name": "VariableDeclaration", + "src": "11675:9:0" + } + ], + "id": 519, + "name": "VariableDeclarationStatement", + "src": "11675:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "s", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 520, + "name": "ElementaryTypeName", + "src": "11690:7:0" + } + ], + "id": 521, + "name": "VariableDeclaration", + "src": "11690:9:0" + } + ], + "id": 522, + "name": "VariableDeclarationStatement", + "src": "11690:9:0" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "v", + "scope": 544, + "stateVariable": false, + "storageLocation": "default", + "type": "uint8", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" + }, + "id": 523, + "name": "ElementaryTypeName", + "src": "11705:5:0" + } + ], + "id": 524, + "name": "VariableDeclaration", + "src": "11705:7:0" + } + ], + "id": 525, + "name": "VariableDeclarationStatement", + "src": "11705:7:0" + }, + { + "attributes": { + "externalReferences": [ + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11750:9:0", + "valueSize": 1 + } + }, + { + "r": { + "declaration": 518, + "isOffset": false, + "isSlot": false, + "src": "11735:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11787:9:0", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 521, + "isOffset": false, + "isSlot": false, + "src": "11772:1:0", + "valueSize": 1 + } + }, + { + "signature": { + "declaration": 505, + "isOffset": false, + "isSlot": false, + "src": "11828:9:0", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 524, + "isOffset": false, + "isSlot": false, + "src": "11809:1:0", + "valueSize": 1 + } + } + ], + "operations": "{\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n}" + }, + "children": [], + "id": 526, + "name": "InlineAssembly", + "src": "11718:144:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 527, + "name": "Identifier", + "src": "11864:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 528, + "name": "Literal", + "src": "11868:2:0" + } + ], + "id": 529, + "name": "BinaryOperation", + "src": "11864:6:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint8" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 530, + "name": "Identifier", + "src": "11880:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3237", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 27", + "value": "27" + }, + "id": 531, + "name": "Literal", + "src": "11885:2:0" + } + ], + "id": 532, + "name": "Assignment", + "src": "11880:7:0" + } + ], + "id": 533, + "name": "ExpressionStatement", + "src": "11880:7:0" + } + ], + "id": 534, + "name": "Block", + "src": "11872:117:0" + } + ], + "id": 535, + "name": "IfStatement", + "src": "11860:129:0" + }, + { + "attributes": { + "functionReturnParameters": 509 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 659, + "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", + "value": "ecrecover" + }, + "id": 536, + "name": "Identifier", + "src": "12001:9:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 503, + "type": "bytes32", + "value": "operationHash" + }, + "id": 537, + "name": "Identifier", + "src": "12011:13:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 524, + "type": "uint8", + "value": "v" + }, + "id": 538, + "name": "Identifier", + "src": "12026:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 518, + "type": "bytes32", + "value": "r" + }, + "id": 539, + "name": "Identifier", + "src": "12029:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 521, + "type": "bytes32", + "value": "s" + }, + "id": 540, + "name": "Identifier", + "src": "12032:1:0" + } + ], + "id": 541, + "name": "FunctionCall", + "src": "12001:33:0" + } + ], + "id": 542, + "name": "Return", + "src": "11994:40:0" + } + ], + "id": 543, + "name": "Block", + "src": "11521:518:0" + } + ], + "id": 544, + "name": "FunctionDefinition", + "src": "11418:621:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "tryInsertSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "sequenceId", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 545, + "name": "ElementaryTypeName", + "src": "12427:4:0" + } + ], + "id": 546, + "name": "VariableDeclaration", + "src": "12427:15:0" + } + ], + "id": 547, + "name": "ParameterList", + "src": "12426:17:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 550, + "name": "ParameterList", + "src": "12463:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 204, + "type": "modifier ()", + "value": "onlysigner" + }, + "id": 548, + "name": "Identifier", + "src": "12444:10:0" + } + ], + "id": 549, + "name": "ModifierInvocation", + "src": "12444:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 552 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "lowestValueIndex", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 551, + "name": "ElementaryTypeName", + "src": "12533:4:0" + } + ], + "id": 552, + "name": "VariableDeclaration", + "src": "12533:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 553, + "name": "Literal", + "src": "12557:1:0" + } + ], + "id": 554, + "name": "VariableDeclarationStatement", + "src": "12533:25:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 556 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 614, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 555, + "name": "ElementaryTypeName", + "src": "12569:4:0" + } + ], + "id": 556, + "name": "VariableDeclaration", + "src": "12569:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 557, + "name": "Literal", + "src": "12578:1:0" + } + ], + "id": 558, + "name": "VariableDeclarationStatement", + "src": "12569:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 559, + "name": "Identifier", + "src": "12581:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 560, + "name": "Identifier", + "src": "12585:23:0" + } + ], + "id": 561, + "name": "BinaryOperation", + "src": "12581:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 562, + "name": "Identifier", + "src": "12610:1:0" + } + ], + "id": 563, + "name": "UnaryOperation", + "src": "12610:3:0" + } + ], + "id": 564, + "name": "ExpressionStatement", + "src": "12610:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 565, + "name": "Identifier", + "src": "12627:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 566, + "name": "Identifier", + "src": "12645:1:0" + } + ], + "id": 567, + "name": "IndexAccess", + "src": "12627:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 568, + "name": "Identifier", + "src": "12651:10:0" + } + ], + "id": 569, + "name": "BinaryOperation", + "src": "12627:34:0" + }, + { + "children": [ + { + "children": [], + "id": 570, + "name": "Throw", + "src": "12733:5:0" + } + ], + "id": 571, + "name": "Block", + "src": "12663:84:0" + } + ], + "id": 572, + "name": "IfStatement", + "src": "12623:124:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 573, + "name": "Identifier", + "src": "12758:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 574, + "name": "Identifier", + "src": "12776:1:0" + } + ], + "id": 575, + "name": "IndexAccess", + "src": "12758:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 576, + "name": "Identifier", + "src": "12781:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 577, + "name": "Identifier", + "src": "12799:16:0" + } + ], + "id": 578, + "name": "IndexAccess", + "src": "12781:35:0" + } + ], + "id": 579, + "name": "BinaryOperation", + "src": "12758:58:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 580, + "name": "Identifier", + "src": "12828:16:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 556, + "type": "uint256", + "value": "i" + }, + "id": 581, + "name": "Identifier", + "src": "12847:1:0" + } + ], + "id": 582, + "name": "Assignment", + "src": "12828:20:0" + } + ], + "id": 583, + "name": "ExpressionStatement", + "src": "12828:20:0" + } + ], + "id": 584, + "name": "Block", + "src": "12818:39:0" + } + ], + "id": 585, + "name": "IfStatement", + "src": "12754:103:0" + } + ], + "id": 586, + "name": "Block", + "src": "12615:248:0" + } + ], + "id": 587, + "name": "ForStatement", + "src": "12564:299:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 588, + "name": "Identifier", + "src": "12872:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 589, + "name": "Identifier", + "src": "12885:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 590, + "name": "Identifier", + "src": "12903:16:0" + } + ], + "id": 591, + "name": "IndexAccess", + "src": "12885:35:0" + } + ], + "id": 592, + "name": "BinaryOperation", + "src": "12872:48:0" + }, + { + "children": [ + { + "children": [], + "id": 593, + "name": "Throw", + "src": "13075:5:0" + } + ], + "id": 594, + "name": "Block", + "src": "12922:165:0" + } + ], + "id": 595, + "name": "IfStatement", + "src": "12868:219:0" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 596, + "name": "Identifier", + "src": "13096:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 597, + "name": "Identifier", + "src": "13110:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 598, + "name": "Identifier", + "src": "13128:16:0" + } + ], + "id": 599, + "name": "IndexAccess", + "src": "13110:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130303030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10000", + "value": "10000" + }, + "id": 600, + "name": "Literal", + "src": "13148:5:0" + } + ], + "id": 601, + "name": "BinaryOperation", + "src": "13110:43:0" + } + ], + "id": 602, + "name": "TupleExpression", + "src": "13109:45:0" + } + ], + "id": 603, + "name": "BinaryOperation", + "src": "13096:58:0" + }, + { + "children": [ + { + "children": [], + "id": 604, + "name": "Throw", + "src": "13329:5:0" + } + ], + "id": 605, + "name": "Block", + "src": "13156:185:0" + } + ], + "id": 606, + "name": "IfStatement", + "src": "13092:249:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 607, + "name": "Identifier", + "src": "13346:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 552, + "type": "uint256", + "value": "lowestValueIndex" + }, + "id": 608, + "name": "Identifier", + "src": "13364:16:0" + } + ], + "id": 609, + "name": "IndexAccess", + "src": "13346:35:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 546, + "type": "uint256", + "value": "sequenceId" + }, + "id": 610, + "name": "Identifier", + "src": "13384:10:0" + } + ], + "id": 611, + "name": "Assignment", + "src": "13346:48:0" + } + ], + "id": 612, + "name": "ExpressionStatement", + "src": "13346:48:0" + } + ], + "id": 613, + "name": "Block", + "src": "12463:936:0" + } + ], + "id": 614, + "name": "FunctionDefinition", + "src": "12398:1001:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNextSequenceId", + "payable": false, + "scope": 654, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 615, + "name": "ParameterList", + "src": "13596:2:0" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 616, + "name": "ElementaryTypeName", + "src": "13608:4:0" + } + ], + "id": 617, + "name": "VariableDeclaration", + "src": "13608:4:0" + } + ], + "id": 618, + "name": "ParameterList", + "src": "13607:6:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 620 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "highestSequenceId", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 619, + "name": "ElementaryTypeName", + "src": "13620:4:0" + } + ], + "id": 620, + "name": "VariableDeclaration", + "src": "13620:22:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 621, + "name": "Literal", + "src": "13645:1:0" + } + ], + "id": 622, + "name": "VariableDeclarationStatement", + "src": "13620:26:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 624 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 653, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 623, + "name": "ElementaryTypeName", + "src": "13657:4:0" + } + ], + "id": 624, + "name": "VariableDeclaration", + "src": "13657:6:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 625, + "name": "Literal", + "src": "13666:1:0" + } + ], + "id": 626, + "name": "VariableDeclarationStatement", + "src": "13657:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 627, + "name": "Identifier", + "src": "13669:1:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 188, + "type": "uint256", + "value": "SEQUENCE_ID_WINDOW_SIZE" + }, + "id": 628, + "name": "Identifier", + "src": "13673:23:0" + } + ], + "id": 629, + "name": "BinaryOperation", + "src": "13669:27:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 630, + "name": "Identifier", + "src": "13698:1:0" + } + ], + "id": 631, + "name": "UnaryOperation", + "src": "13698:3:0" + } + ], + "id": 632, + "name": "ExpressionStatement", + "src": "13698:3:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 633, + "name": "Identifier", + "src": "13715:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 634, + "name": "Identifier", + "src": "13733:1:0" + } + ], + "id": 635, + "name": "IndexAccess", + "src": "13715:20:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 636, + "name": "Identifier", + "src": "13738:17:0" + } + ], + "id": 637, + "name": "BinaryOperation", + "src": "13715:40:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 638, + "name": "Identifier", + "src": "13767:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 192, + "type": "uint256[10] storage ref", + "value": "recentSequenceIds" + }, + "id": 639, + "name": "Identifier", + "src": "13787:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 624, + "type": "uint256", + "value": "i" + }, + "id": 640, + "name": "Identifier", + "src": "13805:1:0" + } + ], + "id": 641, + "name": "IndexAccess", + "src": "13787:20:0" + } + ], + "id": 642, + "name": "Assignment", + "src": "13767:40:0" + } + ], + "id": 643, + "name": "ExpressionStatement", + "src": "13767:40:0" + } + ], + "id": 644, + "name": "Block", + "src": "13757:59:0" + } + ], + "id": 645, + "name": "IfStatement", + "src": "13711:105:0" + } + ], + "id": 646, + "name": "Block", + "src": "13703:119:0" + } + ], + "id": 647, + "name": "ForStatement", + "src": "13652:170:0" + }, + { + "attributes": { + "functionReturnParameters": 618 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 620, + "type": "uint256", + "value": "highestSequenceId" + }, + "id": 648, + "name": "Identifier", + "src": "13834:17:0" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 649, + "name": "Literal", + "src": "13854:1:0" + } + ], + "id": 650, + "name": "BinaryOperation", + "src": "13834:21:0" + } + ], + "id": 651, + "name": "Return", + "src": "13827:28:0" + } + ], + "id": 652, + "name": "Block", + "src": "13614:246:0" + } + ], + "id": 653, + "name": "FunctionDefinition", + "src": "13570:290:0" + } + ], + "id": 654, + "name": "ContractDefinition", + "src": "2615:11247:0" + } + ], + "id": 655, + "name": "SourceUnit", + "src": "0:13862:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "3": { + "events": {}, + "links": {}, + "address": "0xccebc11f8ace0c085398718a4d21711ffa4bf1c2" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-18T20:28:15.125Z" +} \ No newline at end of file diff --git a/build/flattened/BRDCrowdsale.sol b/build/flattened/BRDCrowdsale.sol new file mode 100644 index 0000000..1b82c21 --- /dev/null +++ b/build/flattened/BRDCrowdsale.sol @@ -0,0 +1,845 @@ +pragma solidity ^0.4.18; + +// File: contracts/zeppelin-solidity-1.4/Ownable.sol + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract Ownable { + address public owner; + + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function Ownable() public { + owner = msg.sender; + } + + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param newOwner The address to transfer ownership to. + */ + function transferOwnership(address newOwner) public onlyOwner { + require(newOwner != address(0)); + OwnershipTransferred(owner, newOwner); + owner = newOwner; + } + +} + +// File: contracts/BRDCrowdsaleAuthorizer.sol + +/** + * Contract BRDCrowdsaleAuthorizer is used by the crowdsale website + * to autorize wallets to participate in the crowdsale. Because all + * participants must go through the KYC/AML phase, only accounts + * listed in this contract may contribute to the crowdsale + */ +contract BRDCrowdsaleAuthorizer is Ownable { + // these accounts are authorized to participate in the crowdsale + mapping (address => bool) internal authorizedAccounts; + // these accounts are authorized to authorize accounts + mapping (address => bool) internal authorizers; + + // emitted when a new account is authorized + event Authorized(address indexed _to); + + // add an authorizer to the authorizers mapping. the _newAuthorizer will + // be able to add other authorizers and authorize crowdsale participants + function addAuthorizer(address _newAuthorizer) onlyOwnerOrAuthorizer public { + // allow the provided address to authorize accounts + authorizers[_newAuthorizer] = true; + } + + // remove an authorizer from the authorizers mapping. the _bannedAuthorizer will + // no longer have permission to do anything on this contract + function removeAuthorizer(address _bannedAuthorizer) onlyOwnerOrAuthorizer public { + // only attempt to remove the authorizer if they are currently authorized + require(authorizers[_bannedAuthorizer]); + // remove the authorizer + delete authorizers[_bannedAuthorizer]; + } + + // allow an account to participate in the crowdsale + function authorizeAccount(address _newAccount) onlyOwnerOrAuthorizer public { + if (!authorizedAccounts[_newAccount]) { + // allow the provided account to participate in the crowdsale + authorizedAccounts[_newAccount] = true; + // emit the Authorized event + Authorized(_newAccount); + } + } + + // returns whether or not the provided _account is an authorizer + function isAuthorizer(address _account) constant public returns (bool _isAuthorizer) { + return msg.sender == owner || authorizers[_account] == true; + } + + // returns whether or not the provided _account is authorized to participate in the crowdsale + function isAuthorized(address _account) constant public returns (bool _authorized) { + return authorizedAccounts[_account] == true; + } + + // allow only the contract creator or one of the authorizers to do this + modifier onlyOwnerOrAuthorizer() { + require(msg.sender == owner || authorizers[msg.sender]); + _; + } +} + +// File: contracts/zeppelin-solidity-1.4/SafeMath.sol + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + */ +library SafeMath { + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + assert(b <= a); + return a - b; + } + + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + assert(c >= a); + return c; + } +} + +// File: contracts/BRDLockup.sol + +/** + * Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens. + * Pre-sold tokens are rewarded up to `numIntervals` times separated by an + * `interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`) + * is marked for reward each `interval`. + * + * The owner of the contract will call processInterval() which will + * update the allocation state. The owner of the contract should then + * read the allocation data and reward the beneficiaries. + */ +contract BRDLockup is Ownable { + using SafeMath for uint256; + + // Allocation stores info about how many tokens to reward a beneficiary account + struct Allocation { + address beneficiary; // account to receive rewards + uint256 allocation; // total allocated tokens + uint256 remainingBalance; // remaining balance after the current interval + uint256 currentInterval; // the current interval for the given reward + uint256 currentReward; // amount to be rewarded during the current interval + } + + // the allocation state + Allocation[] public allocations; + + // the date at which allocations begin unlocking + uint256 public unlockDate; + + // the current unlock interval + uint256 public currentInterval; + + // the interval at which allocations will be rewarded + uint256 public intervalDuration; + + // the number of total reward intervals, zero indexed + uint256 public numIntervals; + + event Lock(address indexed _to, uint256 _amount); + + event Unlock(address indexed _to, uint256 _amount); + + // constructor + // @param _crowdsaleEndDate - the date the crowdsale ends + function BRDLockup(uint256 _crowdsaleEndDate, uint256 _numIntervals, uint256 _intervalDuration) public { + unlockDate = _crowdsaleEndDate; + numIntervals = _numIntervals; + intervalDuration = _intervalDuration; + currentInterval = 0; + } + + // update the allocation storage remaining balances + function processInterval() onlyOwner public returns (bool _shouldProcessRewards) { + // ensure the time interval is correct + bool _correctInterval = now >= unlockDate && now.sub(unlockDate) > currentInterval.mul(intervalDuration); + bool _validInterval = currentInterval < numIntervals; + if (!_correctInterval || !_validInterval) + return false; + + // advance the current interval + currentInterval = currentInterval.add(1); + + // number of iterations to read all allocations + uint _allocationsIndex = allocations.length; + + // loop through every allocation + for (uint _i = 0; _i < _allocationsIndex; _i++) { + // the current reward for the allocation at index `i` + uint256 _amountToReward; + + // if we are at the last interval, the reward amount is the entire remaining balance + if (currentInterval == numIntervals) { + _amountToReward = allocations[_i].remainingBalance; + } else { + // otherwise the reward amount is the total allocation divided by the number of intervals + _amountToReward = allocations[_i].allocation.div(numIntervals); + } + // update the allocation storage + allocations[_i].currentReward = _amountToReward; + } + + return true; + } + + // the total number of allocations + function numAllocations() constant public returns (uint) { + return allocations.length; + } + + // the amount allocated for beneficiary at `_index` + function allocationAmount(uint _index) constant public returns (uint256) { + return allocations[_index].allocation; + } + + // reward the beneficiary at `_index` + function unlock(uint _index) onlyOwner public returns (bool _shouldReward, address _beneficiary, uint256 _rewardAmount) { + // ensure the beneficiary is not rewarded twice during the same interval + if (allocations[_index].currentInterval < currentInterval) { + // record the currentInterval so the above check is useful + allocations[_index].currentInterval = currentInterval; + // subtract the reward from their remaining balance + allocations[_index].remainingBalance = allocations[_index].remainingBalance.sub(allocations[_index].currentReward); + // emit event + Unlock(allocations[_index].beneficiary, allocations[_index].currentReward); + // return value + _shouldReward = true; + } else { + // return value + _shouldReward = false; + } + + // return values + _rewardAmount = allocations[_index].currentReward; + _beneficiary = allocations[_index].beneficiary; + } + + // add a new allocation to the lockup + function pushAllocation(address _beneficiary, uint256 _numTokens) onlyOwner public { + require(now < unlockDate); + allocations.push( + Allocation( + _beneficiary, + _numTokens, + _numTokens, + 0, + 0 + ) + ); + Lock(_beneficiary, _numTokens); + } +} + +// File: contracts/zeppelin-solidity-1.4/ERC20Basic.sol + +/** + * @title ERC20Basic + * @dev Simpler version of ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/179 + */ +contract ERC20Basic { + uint256 public totalSupply; + function balanceOf(address who) public view returns (uint256); + function transfer(address to, uint256 value) public returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); +} + +// File: contracts/zeppelin-solidity-1.4/BasicToken.sol + +/** + * @title Basic token + * @dev Basic version of StandardToken, with no allowances. + */ +contract BasicToken is ERC20Basic { + using SafeMath for uint256; + + mapping(address => uint256) balances; + + /** + * @dev transfer token for a specified address + * @param _to The address to transfer to. + * @param _value The amount to be transferred. + */ + function transfer(address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[msg.sender]); + + // SafeMath.sub will throw if there is not enough balance. + balances[msg.sender] = balances[msg.sender].sub(_value); + balances[_to] = balances[_to].add(_value); + Transfer(msg.sender, _to, _value); + return true; + } + + /** + * @dev Gets the balance of the specified address. + * @param _owner The address to query the the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address _owner) public view returns (uint256 balance) { + return balances[_owner]; + } + +} + +// File: contracts/zeppelin-solidity-1.4/ERC20.sol + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +contract ERC20 is ERC20Basic { + function allowance(address owner, address spender) public view returns (uint256); + function transferFrom(address from, address to, uint256 value) public returns (bool); + function approve(address spender, uint256 value) public returns (bool); + event Approval(address indexed owner, address indexed spender, uint256 value); +} + +// File: contracts/zeppelin-solidity-1.4/StandardToken.sol + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * @dev https://github.com/ethereum/EIPs/issues/20 + * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract StandardToken is ERC20, BasicToken { + + mapping (address => mapping (address => uint256)) internal allowed; + + + /** + * @dev Transfer tokens from one address to another + * @param _from address The address which you want to send tokens from + * @param _to address The address which you want to transfer to + * @param _value uint256 the amount of tokens to be transferred + */ + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[_from]); + require(_value <= allowed[_from][msg.sender]); + + balances[_from] = balances[_from].sub(_value); + balances[_to] = balances[_to].add(_value); + allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); + Transfer(_from, _to, _value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param _spender The address which will spend the funds. + * @param _value The amount of tokens to be spent. + */ + function approve(address _spender, uint256 _value) public returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param _owner address The address which owns the funds. + * @param _spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance(address _owner, address _spender) public view returns (uint256) { + return allowed[_owner][_spender]; + } + + /** + * approve should be called when allowed[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + */ + function increaseApproval(address _spender, uint _addedValue) public returns (bool) { + allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + + function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { + uint oldValue = allowed[msg.sender][_spender]; + if (_subtractedValue > oldValue) { + allowed[msg.sender][_spender] = 0; + } else { + allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); + } + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + +} + +// File: contracts/zeppelin-solidity-1.4/MintableToken.sol + +/** + * @title Mintable token + * @dev Simple ERC20 Token example, with mintable token creation + * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120 + * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol + */ + +contract MintableToken is StandardToken, Ownable { + event Mint(address indexed to, uint256 amount); + event MintFinished(); + + bool public mintingFinished = false; + + + modifier canMint() { + require(!mintingFinished); + _; + } + + /** + * @dev Function to mint tokens + * @param _to The address that will receive the minted tokens. + * @param _amount The amount of tokens to mint. + * @return A boolean that indicates if the operation was successful. + */ + function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { + totalSupply = totalSupply.add(_amount); + balances[_to] = balances[_to].add(_amount); + Mint(_to, _amount); + Transfer(address(0), _to, _amount); + return true; + } + + /** + * @dev Function to stop minting new tokens. + * @return True if the operation was successful. + */ + function finishMinting() onlyOwner canMint public returns (bool) { + mintingFinished = true; + MintFinished(); + return true; + } +} + +// File: contracts/BRDToken.sol + +contract BRDToken is MintableToken { + using SafeMath for uint256; + + string public name = "Bread Token"; + string public symbol = "BRD"; + uint256 public decimals = 18; + + // override StandardToken#transferFrom + // ensures that minting has finished or the message sender is the token owner + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transferFrom(_from, _to, _value); + } + + // override StandardToken#transfer + // ensures the minting has finished or the message sender is the token owner + function transfer(address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transfer(_to, _value); + } +} + +// File: contracts/zeppelin-solidity-1.4/Crowdsale.sol + +/** + * @title Crowdsale + * @dev Crowdsale is a base contract for managing a token crowdsale. + * Crowdsales have a start and end timestamps, where investors can make + * token purchases and the crowdsale will assign them tokens based + * on a token per ETH rate. Funds collected are forwarded to a wallet + * as they arrive. + */ +contract Crowdsale { + using SafeMath for uint256; + + // The token being sold + MintableToken public token; + + // start and end timestamps where investments are allowed (both inclusive) + uint256 public startTime; + uint256 public endTime; + + // address where funds are collected + address public wallet; + + // how many token units a buyer gets per wei + uint256 public rate; + + // amount of raised money in wei + uint256 public weiRaised; + + /** + * event for token purchase logging + * @param purchaser who paid for the tokens + * @param beneficiary who got the tokens + * @param value weis paid for purchase + * @param amount amount of tokens purchased + */ + event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); + + + function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet) public { + require(_startTime >= now); + require(_endTime >= _startTime); + require(_rate > 0); + require(_wallet != address(0)); + + token = createTokenContract(); + startTime = _startTime; + endTime = _endTime; + rate = _rate; + wallet = _wallet; + } + + // creates the token to be sold. + // override this method to have crowdsale of a specific mintable token. + function createTokenContract() internal returns (MintableToken) { + return new MintableToken(); + } + + + // fallback function can be used to buy tokens + function () external payable { + buyTokens(msg.sender); + } + + // low level token purchase function + function buyTokens(address beneficiary) public payable { + require(beneficiary != address(0)); + require(validPurchase()); + + uint256 weiAmount = msg.value; + + // calculate token amount to be created + uint256 tokens = weiAmount.mul(rate); + + // update state + weiRaised = weiRaised.add(weiAmount); + + token.mint(beneficiary, tokens); + TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); + + forwardFunds(); + } + + // send ether to the fund collection wallet + // override to create custom fund forwarding mechanisms + function forwardFunds() internal { + wallet.transfer(msg.value); + } + + // @return true if the transaction can buy tokens + function validPurchase() internal view returns (bool) { + bool withinPeriod = now >= startTime && now <= endTime; + bool nonZeroPurchase = msg.value != 0; + return withinPeriod && nonZeroPurchase; + } + + // @return true if crowdsale event has ended + function hasEnded() public view returns (bool) { + return now > endTime; + } + + +} + +// File: contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol + +/** + * @title FinalizableCrowdsale + * @dev Extension of Crowdsale where an owner can do extra work + * after finishing. + */ +contract FinalizableCrowdsale is Crowdsale, Ownable { + using SafeMath for uint256; + + bool public isFinalized = false; + + event Finalized(); + + /** + * @dev Must be called after crowdsale ends, to do some extra finalization + * work. Calls the contract's finalization function. + */ + function finalize() onlyOwner public { + require(!isFinalized); + require(hasEnded()); + + finalization(); + Finalized(); + + isFinalized = true; + } + + /** + * @dev Can be overridden to add finalization logic. The overriding function + * should call super.finalization() to ensure the chain of finalization is + * executed entirely. + */ + function finalization() internal { + } +} + +// File: contracts/BRDCrowdsale.sol + +contract BRDCrowdsale is FinalizableCrowdsale { + using SafeMath for uint256; + + // maximum amount of wei raised during this crowdsale + uint256 public cap; + + // minimum per-participant wei contribution + uint256 public minContribution; + + // maximum per-participant wei contribution + uint256 public maxContribution; + + // how many token unites the owner gets per buyer wei + uint256 public ownerRate; + + // number of tokens per 100 to lock up in lockupTokens() + uint256 public bonusRate; + + // the address to which the owner share of tokens are sent + address public tokenWallet; + + // crowdsale authorizer contract determines who can participate + BRDCrowdsaleAuthorizer public authorizer; + + // the lockup contract holds presale authorization amounts + BRDLockup public lockup; + + // constructor + function BRDCrowdsale( + uint256 _cap, // maximum wei raised + uint256 _minWei, // minimum per-contributor wei + uint256 _maxWei, // maximum per-contributor wei + uint256 _startTime, // crowdsale start time + uint256 _endTime, // crowdsale end time + uint256 _rate, // tokens per wei + uint256 _ownerRate, // owner tokens per buyer wei + uint256 _bonusRate, // percentage of tokens to lockup + address _wallet, // target eth wallet + address _tokenWallet) // target token wallet + Crowdsale(_startTime, _endTime, _rate, _wallet) + public + { + require(_cap > 0); + require(_tokenWallet != 0x0); + cap = _cap; + minContribution = _minWei; + maxContribution = _maxWei; + ownerRate = _ownerRate; + bonusRate = _bonusRate; + tokenWallet = _tokenWallet; + } + + // overriding Crowdsale#hasEnded to add cap logic + // @return true if crowdsale event has ended + function hasEnded() public constant returns (bool) { + bool _capReached = weiRaised >= cap; + return super.hasEnded() || _capReached; + } + + // @return true if the crowdsale has started + function hasStarted() public constant returns (bool) { + return now > startTime; + } + + // overriding Crowdsale#buyTokens + // mints the ownerRate of tokens in addition to calling the super method + function buyTokens(address _beneficiary) public payable { + // call the parent method to mint tokens to the beneficiary + super.buyTokens(_beneficiary); + // calculate the owner share of tokens + uint256 _ownerTokens = msg.value.mul(ownerRate); + // mint the owner share and send to the owner toke wallet + token.mint(tokenWallet, _ownerTokens); + } + + // immediately mint _amount tokens to the _beneficiary. this is used for OOB token purchases. + function allocateTokens(address _beneficiary, uint256 _amount) onlyOwner public { + require(!isFinalized); + + // update state + uint256 _weiAmount = _amount.div(rate); + weiRaised = weiRaised.add(_weiAmount); + + // mint the tokens to the beneficiary + token.mint(_beneficiary, _amount); + + // mint the owner share tokens + uint256 _ownerTokens = _weiAmount.mul(ownerRate); + token.mint(tokenWallet, _ownerTokens); + + TokenPurchase(msg.sender, _beneficiary, _weiAmount, _amount); + } + + // mints _amount tokens to the _beneficiary minus the bonusRate + // tokens to be locked up via the lockup contract. locked up tokens + // are sent to the contract and may be unlocked according to + // the lockup configuration after the sale ends + function lockupTokens(address _beneficiary, uint256 _amount) onlyOwner public { + require(!isFinalized); + + // calculate the owner share of tokens + uint256 _ownerTokens = ownerRate.mul(_amount).div(rate); + // mint the owner share and send to the owner wallet + token.mint(tokenWallet, _ownerTokens); + + // calculate the amount of tokens to be locked up + uint256 _lockupTokens = bonusRate.mul(_amount).div(100); + // create the locked allocation in the lockup contract + lockup.pushAllocation(_beneficiary, _lockupTokens); + // mint locked tokens to the crowdsale contract to later be unlocked + token.mint(this, _lockupTokens); + + // the non-bonus tokens are immediately rewarded + uint256 _remainder = _amount.sub(_lockupTokens); + token.mint(_beneficiary, _remainder); + } + + // unlocks tokens from the token lockup contract. no tokens are held by + // the lockup contract, just the amounts and times that tokens should be rewarded. + // the tokens are held by the crowdsale contract + function unlockTokens() onlyOwner public returns (bool _didIssueRewards) { + // attempt to process the interval. it update the allocation bookkeeping + // and will only return true when the interval should be processed + if (!lockup.processInterval()) + return false; + + // the total number of allocations + uint _numAllocations = lockup.numAllocations(); + + // for every allocation, attempt to unlock the reward + for (uint _i = 0; _i < _numAllocations; _i++) { + // attempt to unlock the reward + var (_shouldReward, _to, _amount) = lockup.unlock(_i); + // if the beneficiary should be rewarded, send them tokens + if (_shouldReward) { + token.transfer(_to, _amount); + } + } + + return true; + } + + // sets the authorizer contract if the crowdsale hasn't started + function setAuthorizer(BRDCrowdsaleAuthorizer _authorizer) onlyOwner public { + require(!hasStarted()); + authorizer = _authorizer; + } + + // sets the lockup contract if the crowdsale hasn't started + function setLockup(BRDLockup _lockup) onlyOwner public { + require(!hasStarted()); + lockup = _lockup; + } + + // sets the token contract if the crowdsale hasn't started + function setToken(BRDToken _token) onlyOwner public { + require(!hasStarted()); + token = _token; + } + + // set the cap on the contract if the crowdsale hasn't started + function setCap(uint256 _newCap) onlyOwner public { + require(_newCap > 0); + require(!hasStarted()); + cap = _newCap; + } + + // allows maxContribution to be modified + function setMaxContribution(uint256 _newMaxContribution) onlyOwner public { + maxContribution = _newMaxContribution; + } + + // allows endTime to be modified + function setEndTime(uint256 _newEndTime) onlyOwner public { + endTime = _newEndTime; + } + + // overriding Crowdsale#createTokenContract + function createTokenContract() internal returns (MintableToken) { + // set the token to null initially + // call setToken() above to set the actual token address + return BRDToken(address(0)); + } + + // overriding FinalizableCrowdsale#finalization + // finalizes minting for the token contract, disabling further minting + function finalization() internal { + // end minting + token.finishMinting(); + + // issue the first lockup reward + unlockTokens(); + + super.finalization(); + } + + // overriding Crowdsale#validPurchase to add extra cap logic + // @return true if crowdsale participants can buy at the moment + // checks whether the cap has not been reached, the purchaser has + // been authorized, and their contribution is within the min/max + // thresholds + function validPurchase() internal constant returns (bool) { + bool _withinCap = weiRaised.add(msg.value) <= cap; + bool _isAuthorized = authorizer.isAuthorized(msg.sender); + bool _isMin = msg.value >= minContribution; + uint256 _alreadyContributed = token.balanceOf(msg.sender).div(rate); + bool _withinMax = msg.value.add(_alreadyContributed) <= maxContribution; + return super.validPurchase() && _withinCap && _isAuthorized && _isMin && _withinMax; + } +} diff --git a/build/flattened/BRDCrowdsaleAuthorizer.sol b/build/flattened/BRDCrowdsaleAuthorizer.sol new file mode 100644 index 0000000..d01781b --- /dev/null +++ b/build/flattened/BRDCrowdsaleAuthorizer.sol @@ -0,0 +1,105 @@ +pragma solidity ^0.4.18; + +// File: contracts/zeppelin-solidity-1.4/Ownable.sol + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract Ownable { + address public owner; + + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function Ownable() public { + owner = msg.sender; + } + + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param newOwner The address to transfer ownership to. + */ + function transferOwnership(address newOwner) public onlyOwner { + require(newOwner != address(0)); + OwnershipTransferred(owner, newOwner); + owner = newOwner; + } + +} + +// File: contracts/BRDCrowdsaleAuthorizer.sol + +/** + * Contract BRDCrowdsaleAuthorizer is used by the crowdsale website + * to autorize wallets to participate in the crowdsale. Because all + * participants must go through the KYC/AML phase, only accounts + * listed in this contract may contribute to the crowdsale + */ +contract BRDCrowdsaleAuthorizer is Ownable { + // these accounts are authorized to participate in the crowdsale + mapping (address => bool) internal authorizedAccounts; + // these accounts are authorized to authorize accounts + mapping (address => bool) internal authorizers; + + // emitted when a new account is authorized + event Authorized(address indexed _to); + + // add an authorizer to the authorizers mapping. the _newAuthorizer will + // be able to add other authorizers and authorize crowdsale participants + function addAuthorizer(address _newAuthorizer) onlyOwnerOrAuthorizer public { + // allow the provided address to authorize accounts + authorizers[_newAuthorizer] = true; + } + + // remove an authorizer from the authorizers mapping. the _bannedAuthorizer will + // no longer have permission to do anything on this contract + function removeAuthorizer(address _bannedAuthorizer) onlyOwnerOrAuthorizer public { + // only attempt to remove the authorizer if they are currently authorized + require(authorizers[_bannedAuthorizer]); + // remove the authorizer + delete authorizers[_bannedAuthorizer]; + } + + // allow an account to participate in the crowdsale + function authorizeAccount(address _newAccount) onlyOwnerOrAuthorizer public { + if (!authorizedAccounts[_newAccount]) { + // allow the provided account to participate in the crowdsale + authorizedAccounts[_newAccount] = true; + // emit the Authorized event + Authorized(_newAccount); + } + } + + // returns whether or not the provided _account is an authorizer + function isAuthorizer(address _account) constant public returns (bool _isAuthorizer) { + return msg.sender == owner || authorizers[_account] == true; + } + + // returns whether or not the provided _account is authorized to participate in the crowdsale + function isAuthorized(address _account) constant public returns (bool _authorized) { + return authorizedAccounts[_account] == true; + } + + // allow only the contract creator or one of the authorizers to do this + modifier onlyOwnerOrAuthorizer() { + require(msg.sender == owner || authorizers[msg.sender]); + _; + } +} diff --git a/build/flattened/BRDLockup.sol b/build/flattened/BRDLockup.sol new file mode 100644 index 0000000..b9ca090 --- /dev/null +++ b/build/flattened/BRDLockup.sol @@ -0,0 +1,213 @@ +pragma solidity ^0.4.18; + +// File: contracts/zeppelin-solidity-1.4/Ownable.sol + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract Ownable { + address public owner; + + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function Ownable() public { + owner = msg.sender; + } + + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param newOwner The address to transfer ownership to. + */ + function transferOwnership(address newOwner) public onlyOwner { + require(newOwner != address(0)); + OwnershipTransferred(owner, newOwner); + owner = newOwner; + } + +} + +// File: contracts/zeppelin-solidity-1.4/SafeMath.sol + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + */ +library SafeMath { + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + assert(b <= a); + return a - b; + } + + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + assert(c >= a); + return c; + } +} + +// File: contracts/BRDLockup.sol + +/** + * Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens. + * Pre-sold tokens are rewarded up to `numIntervals` times separated by an + * `interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`) + * is marked for reward each `interval`. + * + * The owner of the contract will call processInterval() which will + * update the allocation state. The owner of the contract should then + * read the allocation data and reward the beneficiaries. + */ +contract BRDLockup is Ownable { + using SafeMath for uint256; + + // Allocation stores info about how many tokens to reward a beneficiary account + struct Allocation { + address beneficiary; // account to receive rewards + uint256 allocation; // total allocated tokens + uint256 remainingBalance; // remaining balance after the current interval + uint256 currentInterval; // the current interval for the given reward + uint256 currentReward; // amount to be rewarded during the current interval + } + + // the allocation state + Allocation[] public allocations; + + // the date at which allocations begin unlocking + uint256 public unlockDate; + + // the current unlock interval + uint256 public currentInterval; + + // the interval at which allocations will be rewarded + uint256 public intervalDuration; + + // the number of total reward intervals, zero indexed + uint256 public numIntervals; + + event Lock(address indexed _to, uint256 _amount); + + event Unlock(address indexed _to, uint256 _amount); + + // constructor + // @param _crowdsaleEndDate - the date the crowdsale ends + function BRDLockup(uint256 _crowdsaleEndDate, uint256 _numIntervals, uint256 _intervalDuration) public { + unlockDate = _crowdsaleEndDate; + numIntervals = _numIntervals; + intervalDuration = _intervalDuration; + currentInterval = 0; + } + + // update the allocation storage remaining balances + function processInterval() onlyOwner public returns (bool _shouldProcessRewards) { + // ensure the time interval is correct + bool _correctInterval = now >= unlockDate && now.sub(unlockDate) > currentInterval.mul(intervalDuration); + bool _validInterval = currentInterval < numIntervals; + if (!_correctInterval || !_validInterval) + return false; + + // advance the current interval + currentInterval = currentInterval.add(1); + + // number of iterations to read all allocations + uint _allocationsIndex = allocations.length; + + // loop through every allocation + for (uint _i = 0; _i < _allocationsIndex; _i++) { + // the current reward for the allocation at index `i` + uint256 _amountToReward; + + // if we are at the last interval, the reward amount is the entire remaining balance + if (currentInterval == numIntervals) { + _amountToReward = allocations[_i].remainingBalance; + } else { + // otherwise the reward amount is the total allocation divided by the number of intervals + _amountToReward = allocations[_i].allocation.div(numIntervals); + } + // update the allocation storage + allocations[_i].currentReward = _amountToReward; + } + + return true; + } + + // the total number of allocations + function numAllocations() constant public returns (uint) { + return allocations.length; + } + + // the amount allocated for beneficiary at `_index` + function allocationAmount(uint _index) constant public returns (uint256) { + return allocations[_index].allocation; + } + + // reward the beneficiary at `_index` + function unlock(uint _index) onlyOwner public returns (bool _shouldReward, address _beneficiary, uint256 _rewardAmount) { + // ensure the beneficiary is not rewarded twice during the same interval + if (allocations[_index].currentInterval < currentInterval) { + // record the currentInterval so the above check is useful + allocations[_index].currentInterval = currentInterval; + // subtract the reward from their remaining balance + allocations[_index].remainingBalance = allocations[_index].remainingBalance.sub(allocations[_index].currentReward); + // emit event + Unlock(allocations[_index].beneficiary, allocations[_index].currentReward); + // return value + _shouldReward = true; + } else { + // return value + _shouldReward = false; + } + + // return values + _rewardAmount = allocations[_index].currentReward; + _beneficiary = allocations[_index].beneficiary; + } + + // add a new allocation to the lockup + function pushAllocation(address _beneficiary, uint256 _numTokens) onlyOwner public { + require(now < unlockDate); + allocations.push( + Allocation( + _beneficiary, + _numTokens, + _numTokens, + 0, + 0 + ) + ); + Lock(_beneficiary, _numTokens); + } +} diff --git a/build/flattened/BRDToken.sol b/build/flattened/BRDToken.sol new file mode 100644 index 0000000..6afd15c --- /dev/null +++ b/build/flattened/BRDToken.sol @@ -0,0 +1,298 @@ +pragma solidity ^0.4.18; + +// File: contracts/zeppelin-solidity-1.4/Ownable.sol + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract Ownable { + address public owner; + + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function Ownable() public { + owner = msg.sender; + } + + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param newOwner The address to transfer ownership to. + */ + function transferOwnership(address newOwner) public onlyOwner { + require(newOwner != address(0)); + OwnershipTransferred(owner, newOwner); + owner = newOwner; + } + +} + +// File: contracts/zeppelin-solidity-1.4/ERC20Basic.sol + +/** + * @title ERC20Basic + * @dev Simpler version of ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/179 + */ +contract ERC20Basic { + uint256 public totalSupply; + function balanceOf(address who) public view returns (uint256); + function transfer(address to, uint256 value) public returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); +} + +// File: contracts/zeppelin-solidity-1.4/SafeMath.sol + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + */ +library SafeMath { + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + assert(b <= a); + return a - b; + } + + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + assert(c >= a); + return c; + } +} + +// File: contracts/zeppelin-solidity-1.4/BasicToken.sol + +/** + * @title Basic token + * @dev Basic version of StandardToken, with no allowances. + */ +contract BasicToken is ERC20Basic { + using SafeMath for uint256; + + mapping(address => uint256) balances; + + /** + * @dev transfer token for a specified address + * @param _to The address to transfer to. + * @param _value The amount to be transferred. + */ + function transfer(address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[msg.sender]); + + // SafeMath.sub will throw if there is not enough balance. + balances[msg.sender] = balances[msg.sender].sub(_value); + balances[_to] = balances[_to].add(_value); + Transfer(msg.sender, _to, _value); + return true; + } + + /** + * @dev Gets the balance of the specified address. + * @param _owner The address to query the the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address _owner) public view returns (uint256 balance) { + return balances[_owner]; + } + +} + +// File: contracts/zeppelin-solidity-1.4/ERC20.sol + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +contract ERC20 is ERC20Basic { + function allowance(address owner, address spender) public view returns (uint256); + function transferFrom(address from, address to, uint256 value) public returns (bool); + function approve(address spender, uint256 value) public returns (bool); + event Approval(address indexed owner, address indexed spender, uint256 value); +} + +// File: contracts/zeppelin-solidity-1.4/StandardToken.sol + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * @dev https://github.com/ethereum/EIPs/issues/20 + * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract StandardToken is ERC20, BasicToken { + + mapping (address => mapping (address => uint256)) internal allowed; + + + /** + * @dev Transfer tokens from one address to another + * @param _from address The address which you want to send tokens from + * @param _to address The address which you want to transfer to + * @param _value uint256 the amount of tokens to be transferred + */ + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[_from]); + require(_value <= allowed[_from][msg.sender]); + + balances[_from] = balances[_from].sub(_value); + balances[_to] = balances[_to].add(_value); + allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); + Transfer(_from, _to, _value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param _spender The address which will spend the funds. + * @param _value The amount of tokens to be spent. + */ + function approve(address _spender, uint256 _value) public returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param _owner address The address which owns the funds. + * @param _spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance(address _owner, address _spender) public view returns (uint256) { + return allowed[_owner][_spender]; + } + + /** + * approve should be called when allowed[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + */ + function increaseApproval(address _spender, uint _addedValue) public returns (bool) { + allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + + function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { + uint oldValue = allowed[msg.sender][_spender]; + if (_subtractedValue > oldValue) { + allowed[msg.sender][_spender] = 0; + } else { + allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); + } + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + +} + +// File: contracts/zeppelin-solidity-1.4/MintableToken.sol + +/** + * @title Mintable token + * @dev Simple ERC20 Token example, with mintable token creation + * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120 + * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol + */ + +contract MintableToken is StandardToken, Ownable { + event Mint(address indexed to, uint256 amount); + event MintFinished(); + + bool public mintingFinished = false; + + + modifier canMint() { + require(!mintingFinished); + _; + } + + /** + * @dev Function to mint tokens + * @param _to The address that will receive the minted tokens. + * @param _amount The amount of tokens to mint. + * @return A boolean that indicates if the operation was successful. + */ + function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { + totalSupply = totalSupply.add(_amount); + balances[_to] = balances[_to].add(_amount); + Mint(_to, _amount); + Transfer(address(0), _to, _amount); + return true; + } + + /** + * @dev Function to stop minting new tokens. + * @return True if the operation was successful. + */ + function finishMinting() onlyOwner canMint public returns (bool) { + mintingFinished = true; + MintFinished(); + return true; + } +} + +// File: contracts/BRDToken.sol + +contract BRDToken is MintableToken { + using SafeMath for uint256; + + string public name = "Bread Token"; + string public symbol = "BRD"; + uint256 public decimals = 18; + + // override StandardToken#transferFrom + // ensures that minting has finished or the message sender is the token owner + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transferFrom(_from, _to, _value); + } + + // override StandardToken#transfer + // ensures the minting has finished or the message sender is the token owner + function transfer(address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transfer(_to, _value); + } +} diff --git a/constants.js b/constants.js new file mode 100644 index 0000000..d205b62 --- /dev/null +++ b/constants.js @@ -0,0 +1,71 @@ +module.exports = function(web3, accounts, network) { + if (network === undefined) { + network = 'mainnet'; + } + var c = {}; + c.decimals = 18; + c.exponent = (new web3.BigNumber(10)).pow(c.decimals); + + c.cap = (new web3.BigNumber(33333.3333)).mul(c.exponent); // 33,333.3333 ETH @ $600 / ETH = $20,000,000 + c.minContribution = (new web3.BigNumber(.5)).mul(c.exponent); // .5 ETH min contribution + c.maxContribution = (new web3.BigNumber(100)).mul(c.exponent); // 100 ETH initial max contribution + c.startTime = 1513396500; // starts on Dec 16 02:00:00 GMT + c.endTime = c.startTime + (86400*8); // 8 days duration + c.rate = new web3.BigNumber(900); // 900 tokens per eth + c.ownerRate = new web3.BigNumber(300); // 300 tokens per buyer eth + c.bonusRate = new web3.BigNumber(20); // 20% of tokens to lock up + c.numIntervals = 6; // 6 unlock intervals + c.intervalDuration = (86400*30); // 30 days per interval + c.wallet = '0x081eDBeF6106Ab1253557451b261C1c99badE726'; // beneficiary address + c.tokenWallet = '0x081eDBeF6106Ab1253557451b261C1c99badE726'; // token beneficiary address + + // test crowdsale + // c.cap = (new web3.BigNumber(.1)).mul(c.exponent); // 5 ETH @ $600 / ETH = $20,000,000 + // c.minContribution = (new web3.BigNumber(.01)).mul(c.exponent); // .1 ETH min contribution + // c.maxContribution = (new web3.BigNumber(1)).mul(c.exponent); // 1 ETH initial max contribution + // c.startTime = 1513329000; // starts on Dec 16 02:00:00 GMT + // c.endTime = c.startTime + (1800); // 1 days duration + // c.rate = new web3.BigNumber(900); // 900 tokens per eth + // c.ownerRate = new web3.BigNumber(300); // 300 tokens per buyer eth + // c.bonusRate = new web3.BigNumber(20); // 20% of tokens to lock up + // c.numIntervals = 6; // 6 unlock intervals + // c.intervalDuration = (86400*30); // 30 days per interval + // c.wallet = '0x9e2bA8D116EF91C070dAAb4f043EAd3518206C97'; // beneficiary address + // c.tokenWallet = '0x9e2bA8D116EF91C070dAAb4f043EAd3518206C97'; // token beneficiary address + + if (network == 'development') { + c.startTime = Math.floor(Date.now() / 1000) + 2; // now + N + c.endTime = c.startTime + 10; // + 30 seconds + c.cap = (new web3.BigNumber(100)).mul(c.exponent); // 100 ETH + c.maxContribution = c.minContribution.mul(5); // 5 ETH + c.intervalDuration = 5; // 5 seconds + c.wallet = accounts[0]; + c.tokenWallet = accounts[0]; + } + + if (network == 'kovan' || network == 'ropsten') { + c.startTime = 1513629900; // Saturday, December 16, 2017 2:00:00 AM + c.endTime = c.startTime + 86400; // 1 days + c.minContribution = (new web3.BigNumber(.001)).mul(c.exponent); // .001 eth + c.maxContribution = (new web3.BigNumber(10).mul(c.exponent)); // 10 eth + c.rate = new web3.BigNumber(90000); // tokens per eth + c.ownerRate = new web3.BigNumber(30000); // tokens per buyer eth + c.cap = (new web3.BigNumber(50)).mul(c.exponent); + c.intervalDuration = 6*3600; // 6 hrs + c.wallet = accounts[0]; + c.tokenWallet = accounts[0]; + } + + c.creationArguments = [ + c.cap, c.minContribution, c.maxContribution, + c.startTime, c.endTime, + c.rate, c.ownerRate, c.bonusRate, + c.wallet, c.tokenWallet + ]; + + c.lockupArguments = [ + c.endTime, c.numIntervals, c.intervalDuration + ]; + + return c +} diff --git a/contracts/BRDCrowdsale.sol b/contracts/BRDCrowdsale.sol new file mode 100644 index 0000000..076bc65 --- /dev/null +++ b/contracts/BRDCrowdsale.sol @@ -0,0 +1,227 @@ +pragma solidity ^0.4.18; + +import "./BRDToken.sol"; +import "./BRDCrowdsaleAuthorizer.sol"; +import "./BRDLockup.sol"; +import "./zeppelin-solidity-1.4/Crowdsale.sol"; +import "./zeppelin-solidity-1.4/FinalizableCrowdsale.sol"; +import "./zeppelin-solidity-1.4/MintableToken.sol"; +import "./zeppelin-solidity-1.4/SafeMath.sol"; + + +contract BRDCrowdsale is FinalizableCrowdsale { + using SafeMath for uint256; + + // maximum amount of wei raised during this crowdsale + uint256 public cap; + + // minimum per-participant wei contribution + uint256 public minContribution; + + // maximum per-participant wei contribution + uint256 public maxContribution; + + // how many token unites the owner gets per buyer wei + uint256 public ownerRate; + + // number of tokens per 100 to lock up in lockupTokens() + uint256 public bonusRate; + + // the address to which the owner share of tokens are sent + address public tokenWallet; + + // crowdsale authorizer contract determines who can participate + BRDCrowdsaleAuthorizer public authorizer; + + // the lockup contract holds presale authorization amounts + BRDLockup public lockup; + + // constructor + function BRDCrowdsale( + uint256 _cap, // maximum wei raised + uint256 _minWei, // minimum per-contributor wei + uint256 _maxWei, // maximum per-contributor wei + uint256 _startTime, // crowdsale start time + uint256 _endTime, // crowdsale end time + uint256 _rate, // tokens per wei + uint256 _ownerRate, // owner tokens per buyer wei + uint256 _bonusRate, // percentage of tokens to lockup + address _wallet, // target eth wallet + address _tokenWallet) // target token wallet + Crowdsale(_startTime, _endTime, _rate, _wallet) + public + { + require(_cap > 0); + require(_tokenWallet != 0x0); + cap = _cap; + minContribution = _minWei; + maxContribution = _maxWei; + ownerRate = _ownerRate; + bonusRate = _bonusRate; + tokenWallet = _tokenWallet; + } + + // overriding Crowdsale#hasEnded to add cap logic + // @return true if crowdsale event has ended + function hasEnded() public constant returns (bool) { + bool _capReached = weiRaised >= cap; + return super.hasEnded() || _capReached; + } + + // @return true if the crowdsale has started + function hasStarted() public constant returns (bool) { + return now > startTime; + } + + // overriding Crowdsale#buyTokens + // mints the ownerRate of tokens in addition to calling the super method + function buyTokens(address _beneficiary) public payable { + // call the parent method to mint tokens to the beneficiary + super.buyTokens(_beneficiary); + // calculate the owner share of tokens + uint256 _ownerTokens = msg.value.mul(ownerRate); + // mint the owner share and send to the owner toke wallet + token.mint(tokenWallet, _ownerTokens); + } + + // immediately mint _amount tokens to the _beneficiary. this is used for OOB token purchases. + function allocateTokens(address _beneficiary, uint256 _amount) onlyOwner public { + require(!isFinalized); + + // update state + uint256 _weiAmount = _amount.div(rate); + weiRaised = weiRaised.add(_weiAmount); + + // mint the tokens to the beneficiary + token.mint(_beneficiary, _amount); + + // mint the owner share tokens + uint256 _ownerTokens = _weiAmount.mul(ownerRate); + token.mint(tokenWallet, _ownerTokens); + + TokenPurchase(msg.sender, _beneficiary, _weiAmount, _amount); + } + + // mints _amount tokens to the _beneficiary minus the bonusRate + // tokens to be locked up via the lockup contract. locked up tokens + // are sent to the contract and may be unlocked according to + // the lockup configuration after the sale ends + function lockupTokens(address _beneficiary, uint256 _amount) onlyOwner public { + require(!isFinalized); + + // calculate the owner share of tokens + uint256 _ownerTokens = ownerRate.mul(_amount).div(rate); + // mint the owner share and send to the owner wallet + token.mint(tokenWallet, _ownerTokens); + + // calculate the amount of tokens to be locked up + uint256 _lockupTokens = bonusRate.mul(_amount).div(100); + // create the locked allocation in the lockup contract + lockup.pushAllocation(_beneficiary, _lockupTokens); + // mint locked tokens to the crowdsale contract to later be unlocked + token.mint(this, _lockupTokens); + + // the non-bonus tokens are immediately rewarded + uint256 _remainder = _amount.sub(_lockupTokens); + token.mint(_beneficiary, _remainder); + } + + // unlocks tokens from the token lockup contract. no tokens are held by + // the lockup contract, just the amounts and times that tokens should be rewarded. + // the tokens are held by the crowdsale contract + function unlockTokens() onlyOwner public returns (bool _didIssueRewards) { + // attempt to process the interval. it update the allocation bookkeeping + // and will only return true when the interval should be processed + if (!lockup.processInterval()) + return false; + + // the total number of allocations + uint _numAllocations = lockup.numAllocations(); + + // for every allocation, attempt to unlock the reward + for (uint _i = 0; _i < _numAllocations; _i++) { + // attempt to unlock the reward + var (_shouldReward, _to, _amount) = lockup.unlock(_i); + // if the beneficiary should be rewarded, send them tokens + if (_shouldReward) { + token.transfer(_to, _amount); + } + } + + return true; + } + + // sets the authorizer contract if the crowdsale hasn't started + function setAuthorizer(BRDCrowdsaleAuthorizer _authorizer) onlyOwner public { + require(!hasStarted()); + authorizer = _authorizer; + } + + // sets the lockup contract if the crowdsale hasn't started + function setLockup(BRDLockup _lockup) onlyOwner public { + require(!hasStarted()); + lockup = _lockup; + } + + // sets the token contract if the crowdsale hasn't started + function setToken(BRDToken _token) onlyOwner public { + require(!hasStarted()); + token = _token; + } + + // set the cap on the contract if the crowdsale hasn't started + function setCap(uint256 _newCap) onlyOwner public { + require(_newCap > 0); + require(!hasStarted()); + cap = _newCap; + } + + // allows maxContribution to be modified + function setMaxContribution(uint256 _newMaxContribution) onlyOwner public { + maxContribution = _newMaxContribution; + } + + // allows endTime to be modified + function setEndTime(uint256 _newEndTime) onlyOwner public { + endTime = _newEndTime; + } + + // overriding Crowdsale#createTokenContract + function createTokenContract() internal returns (MintableToken) { + // set the token to null initially + // call setToken() above to set the actual token address + return BRDToken(address(0)); + } + + // function forwardFunds() internal { + // if (!wallet.call.gas(200000).value(msg.value)()) { + // revert(); + // } + // } + + // overriding FinalizableCrowdsale#finalization + // finalizes minting for the token contract, disabling further minting + function finalization() internal { + // end minting + token.finishMinting(); + + // issue the first lockup reward + unlockTokens(); + + super.finalization(); + } + + // overriding Crowdsale#validPurchase to add extra cap logic + // @return true if crowdsale participants can buy at the moment + // checks whether the cap has not been reached, the purchaser has + // been authorized, and their contribution is within the min/max + // thresholds + function validPurchase() internal constant returns (bool) { + bool _withinCap = weiRaised.add(msg.value) <= cap; + bool _isAuthorized = authorizer.isAuthorized(msg.sender); + bool _isMin = msg.value >= minContribution; + uint256 _alreadyContributed = token.balanceOf(msg.sender).div(rate); + bool _withinMax = msg.value.add(_alreadyContributed) <= maxContribution; + return super.validPurchase() && _withinCap && _isAuthorized && _isMin && _withinMax; + } +} diff --git a/contracts/BRDCrowdsaleAuthorizer.sol b/contracts/BRDCrowdsaleAuthorizer.sol new file mode 100644 index 0000000..6db6e89 --- /dev/null +++ b/contracts/BRDCrowdsaleAuthorizer.sol @@ -0,0 +1,62 @@ +pragma solidity ^0.4.18; + +import "./zeppelin-solidity-1.4/Ownable.sol"; + + +/** + * Contract BRDCrowdsaleAuthorizer is used by the crowdsale website + * to autorize wallets to participate in the crowdsale. Because all + * participants must go through the KYC/AML phase, only accounts + * listed in this contract may contribute to the crowdsale + */ +contract BRDCrowdsaleAuthorizer is Ownable { + // these accounts are authorized to participate in the crowdsale + mapping (address => bool) internal authorizedAccounts; + // these accounts are authorized to authorize accounts + mapping (address => bool) internal authorizers; + + // emitted when a new account is authorized + event Authorized(address indexed _to); + + // add an authorizer to the authorizers mapping. the _newAuthorizer will + // be able to add other authorizers and authorize crowdsale participants + function addAuthorizer(address _newAuthorizer) onlyOwnerOrAuthorizer public { + // allow the provided address to authorize accounts + authorizers[_newAuthorizer] = true; + } + + // remove an authorizer from the authorizers mapping. the _bannedAuthorizer will + // no longer have permission to do anything on this contract + function removeAuthorizer(address _bannedAuthorizer) onlyOwnerOrAuthorizer public { + // only attempt to remove the authorizer if they are currently authorized + require(authorizers[_bannedAuthorizer]); + // remove the authorizer + delete authorizers[_bannedAuthorizer]; + } + + // allow an account to participate in the crowdsale + function authorizeAccount(address _newAccount) onlyOwnerOrAuthorizer public { + if (!authorizedAccounts[_newAccount]) { + // allow the provided account to participate in the crowdsale + authorizedAccounts[_newAccount] = true; + // emit the Authorized event + Authorized(_newAccount); + } + } + + // returns whether or not the provided _account is an authorizer + function isAuthorizer(address _account) constant public returns (bool _isAuthorizer) { + return msg.sender == owner || authorizers[_account] == true; + } + + // returns whether or not the provided _account is authorized to participate in the crowdsale + function isAuthorized(address _account) constant public returns (bool _authorized) { + return authorizedAccounts[_account] == true; + } + + // allow only the contract creator or one of the authorizers to do this + modifier onlyOwnerOrAuthorizer() { + require(msg.sender == owner || authorizers[msg.sender]); + _; + } +} diff --git a/contracts/BRDLockup.sol b/contracts/BRDLockup.sol new file mode 100644 index 0000000..c3e0db9 --- /dev/null +++ b/contracts/BRDLockup.sol @@ -0,0 +1,136 @@ +pragma solidity ^0.4.18; + +import "./zeppelin-solidity-1.4/Ownable.sol"; +import "./zeppelin-solidity-1.4/SafeMath.sol"; + + +/** + * Contract BRDLockup keeps track of a vesting schedule for pre-sold tokens. + * Pre-sold tokens are rewarded up to `numIntervals` times separated by an + * `interval` of time. An equal amount of tokens (`allocation` divided by `numIntervals`) + * is marked for reward each `interval`. + * + * The owner of the contract will call processInterval() which will + * update the allocation state. The owner of the contract should then + * read the allocation data and reward the beneficiaries. + */ +contract BRDLockup is Ownable { + using SafeMath for uint256; + + // Allocation stores info about how many tokens to reward a beneficiary account + struct Allocation { + address beneficiary; // account to receive rewards + uint256 allocation; // total allocated tokens + uint256 remainingBalance; // remaining balance after the current interval + uint256 currentInterval; // the current interval for the given reward + uint256 currentReward; // amount to be rewarded during the current interval + } + + // the allocation state + Allocation[] public allocations; + + // the date at which allocations begin unlocking + uint256 public unlockDate; + + // the current unlock interval + uint256 public currentInterval; + + // the interval at which allocations will be rewarded + uint256 public intervalDuration; + + // the number of total reward intervals, zero indexed + uint256 public numIntervals; + + event Lock(address indexed _to, uint256 _amount); + + event Unlock(address indexed _to, uint256 _amount); + + // constructor + // @param _crowdsaleEndDate - the date the crowdsale ends + function BRDLockup(uint256 _crowdsaleEndDate, uint256 _numIntervals, uint256 _intervalDuration) public { + unlockDate = _crowdsaleEndDate; + numIntervals = _numIntervals; + intervalDuration = _intervalDuration; + currentInterval = 0; + } + + // update the allocation storage remaining balances + function processInterval() onlyOwner public returns (bool _shouldProcessRewards) { + // ensure the time interval is correct + bool _correctInterval = now >= unlockDate && now.sub(unlockDate) > currentInterval.mul(intervalDuration); + bool _validInterval = currentInterval < numIntervals; + if (!_correctInterval || !_validInterval) + return false; + + // advance the current interval + currentInterval = currentInterval.add(1); + + // number of iterations to read all allocations + uint _allocationsIndex = allocations.length; + + // loop through every allocation + for (uint _i = 0; _i < _allocationsIndex; _i++) { + // the current reward for the allocation at index `i` + uint256 _amountToReward; + + // if we are at the last interval, the reward amount is the entire remaining balance + if (currentInterval == numIntervals) { + _amountToReward = allocations[_i].remainingBalance; + } else { + // otherwise the reward amount is the total allocation divided by the number of intervals + _amountToReward = allocations[_i].allocation.div(numIntervals); + } + // update the allocation storage + allocations[_i].currentReward = _amountToReward; + } + + return true; + } + + // the total number of allocations + function numAllocations() constant public returns (uint) { + return allocations.length; + } + + // the amount allocated for beneficiary at `_index` + function allocationAmount(uint _index) constant public returns (uint256) { + return allocations[_index].allocation; + } + + // reward the beneficiary at `_index` + function unlock(uint _index) onlyOwner public returns (bool _shouldReward, address _beneficiary, uint256 _rewardAmount) { + // ensure the beneficiary is not rewarded twice during the same interval + if (allocations[_index].currentInterval < currentInterval) { + // record the currentInterval so the above check is useful + allocations[_index].currentInterval = currentInterval; + // subtract the reward from their remaining balance + allocations[_index].remainingBalance = allocations[_index].remainingBalance.sub(allocations[_index].currentReward); + // emit event + Unlock(allocations[_index].beneficiary, allocations[_index].currentReward); + // return value + _shouldReward = true; + } else { + // return value + _shouldReward = false; + } + + // return values + _rewardAmount = allocations[_index].currentReward; + _beneficiary = allocations[_index].beneficiary; + } + + // add a new allocation to the lockup + function pushAllocation(address _beneficiary, uint256 _numTokens) onlyOwner public { + require(now < unlockDate); + allocations.push( + Allocation( + _beneficiary, + _numTokens, + _numTokens, + 0, + 0 + ) + ); + Lock(_beneficiary, _numTokens); + } +} diff --git a/contracts/BRDToken.sol b/contracts/BRDToken.sol new file mode 100644 index 0000000..10e081a --- /dev/null +++ b/contracts/BRDToken.sol @@ -0,0 +1,27 @@ +pragma solidity ^0.4.18; + +import "./zeppelin-solidity-1.4/MintableToken.sol"; +import "./zeppelin-solidity-1.4/SafeMath.sol"; + + +contract BRDToken is MintableToken { + using SafeMath for uint256; + + string public name = "Bread Token"; + string public symbol = "BRD"; + uint256 public decimals = 18; + + // override StandardToken#transferFrom + // ensures that minting has finished or the message sender is the token owner + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transferFrom(_from, _to, _value); + } + + // override StandardToken#transfer + // ensures the minting has finished or the message sender is the token owner + function transfer(address _to, uint256 _value) public returns (bool) { + require(mintingFinished || msg.sender == owner); + return super.transfer(_to, _value); + } +} diff --git a/contracts/BRDVendingMachine.sol b/contracts/BRDVendingMachine.sol new file mode 100644 index 0000000..e9b2ece --- /dev/null +++ b/contracts/BRDVendingMachine.sol @@ -0,0 +1,81 @@ +pragma solidity ^0.4.18; + +import "./zeppelin-solidity-1.4/Ownable.sol"; +import "./zeppelin-solidity-1.4/ERC20.sol"; + + +/** + * BRDVendingMachine is a contract used to bulk-transfer tokens to batches of users. + * It's primary interaction pattern is thus: + * 1. A wallet creates the contract + * 2. The wallet sends tokens to the contract + * 3. The wallet executs bulkTransfer() to send tokens to the provided accounts + */ +contract BRDVendingMachine is Ownable { + ERC20 public token; + + event BulkTransfer(uint256 indexed _transferID, address indexed _contract, address[] _addresses, uint256[] _amounts); + event Withdraw(address indexed _contract, address indexed _to, uint256 _amount); + + constructor(ERC20 _token) Ownable() public { + token = _token; + } + + /** + * bulkTransfer executes up to 100 transfers of ERC20 tokens to the supplied addresses + * + * the 100 limit is not enforced however this should be taken as the practical limit since most ERC-20 + * transfer take around 45-60k gas, and we wish to keep the total transaction size under 750k gas. + * + * @param _transferID a number to uniquely identify this transfer + * @param _addresses the addresses to transfer to + * @param _amounts the amounts to transfer, 1-1 relationship with @param _addresses + * @return the number of transfers executed + */ + function bulkTransfer(uint256 _transferID, address[] _addresses, uint256[] _amounts) onlyOwner public returns (uint) { + // ensure the maximum amount of transfers is not over 100 + require(_addresses.length <= 100); + // ensure the addresses and amounts are exactly the same length + require(_addresses.length == _amounts.length); + // count the number of transfers + uint _transfers = 0; + for (uint _i = 0; _i < _addresses.length; _i++) { + // ensure none of the addresses are 0x0 + address _to = _addresses[_i]; + require(_to != 0x0); + bool _didTransfer = token.transfer(_to, _amounts[_i]); + require(_didTransfer); + _transfers += 1; + } + emit BulkTransfer(_transferID, address(token), _addresses, _amounts); + return _transfers; + } + + /** + * withdraw will transfer an amount of an ERC-20 balance to another address + * + * @param _to recipient address + * @param _amount receipient amount + * @return the same value that ERC20.transferFrom would return + */ + function withdraw(address _to, uint256 _amount) onlyOwner public returns (bool) { + bool _didWithdraw = token.transfer(_to, _amount); + if (_didWithdraw) { + emit Withdraw(address(token), _to, _amount); + } + return _didWithdraw; + } + + /** + * balanceOf retrieves the current balance of a given token + * @return this contract's balance at the provided token contract + */ + function balanceOf() public view returns (uint256) { + return token.balanceOf(this); + } + + // this contract is NOT payable + function () public payable { + require(false); + } +} diff --git a/contracts/ConvertLib.sol b/contracts/ConvertLib.sol deleted file mode 100644 index b97c88d..0000000 --- a/contracts/ConvertLib.sol +++ /dev/null @@ -1,8 +0,0 @@ -pragma solidity ^0.4.4; - -library ConvertLib{ - function convert(uint amount,uint conversionRate) returns (uint convertedAmount) - { - return amount * conversionRate; - } -} diff --git a/contracts/MetaCoin.sol b/contracts/MetaCoin.sol deleted file mode 100644 index fa570e9..0000000 --- a/contracts/MetaCoin.sol +++ /dev/null @@ -1,34 +0,0 @@ -pragma solidity ^0.4.4; - -import "./ConvertLib.sol"; - -// This is just a simple example of a coin-like contract. -// It is not standards compatible and cannot be expected to talk to other -// coin/token contracts. If you want to create a standards-compliant -// token, see: https://github.com/ConsenSys/Tokens. Cheers! - -contract MetaCoin { - mapping (address => uint) balances; - - event Transfer(address indexed _from, address indexed _to, uint256 _value); - - function MetaCoin() { - balances[tx.origin] = 10000; - } - - function sendCoin(address receiver, uint amount) returns(bool sufficient) { - if (balances[msg.sender] < amount) return false; - balances[msg.sender] -= amount; - balances[receiver] += amount; - Transfer(msg.sender, receiver, amount); - return true; - } - - function getBalanceInEth(address addr) returns(uint){ - return ConvertLib.convert(getBalance(addr),2); - } - - function getBalance(address addr) returns(uint) { - return balances[addr]; - } -} diff --git a/contracts/Migrations.sol b/contracts/Migrations.sol index 7e7fe8d..b5dc706 100644 --- a/contracts/Migrations.sol +++ b/contracts/Migrations.sol @@ -1,23 +1,22 @@ -pragma solidity ^0.4.4; +pragma solidity ^0.4.18; -contract Migrations { - address public owner; - uint public last_completed_migration; - modifier restricted() { - if (msg.sender == owner) _; - } +import "zeppelin-solidity/contracts/ownership/Ownable.sol"; - function Migrations() { - owner = msg.sender; - } - function setCompleted(uint completed) restricted { - last_completed_migration = completed; +/** + * @title Migrations + * @dev This is a truffle contract, needed for truffle integration, not meant for use by Zeppelin users. + */ +contract Migrations is Ownable { + uint256 public lastCompletedMigration; + + function setCompleted(uint256 completed) onlyOwner public { + lastCompletedMigration = completed; } - function upgrade(address new_address) restricted { - Migrations upgraded = Migrations(new_address); - upgraded.setCompleted(last_completed_migration); + function upgrade(address newAddress) onlyOwner public { + Migrations upgraded = Migrations(newAddress); + upgraded.setCompleted(lastCompletedMigration); } } diff --git a/contracts/bitgo-multisig/WalletSimple.sol b/contracts/bitgo-multisig/WalletSimple.sol new file mode 100644 index 0000000..4570455 --- /dev/null +++ b/contracts/bitgo-multisig/WalletSimple.sol @@ -0,0 +1,352 @@ +pragma solidity ^0.4.14; + +/** + * Contract that exposes the needed erc20 token functions + */ + +contract ERC20Interface { + // Send _value amount of tokens to address _to + function transfer(address _to, uint256 _value) returns (bool success); + // Get the account balance of another account with address _owner + function balanceOf(address _owner) constant returns (uint256 balance); +} + +/** + * Contract that will forward any incoming Ether to its creator + */ +contract Forwarder { + // Address to which any funds sent to this contract will be forwarded + address public parentAddress; + event ForwarderDeposited(address from, uint value, bytes data); + + event TokensFlushed( + address tokenContractAddress, // The contract address of the token + uint value // Amount of token sent + ); + + /** + * Create the contract, and set the destination address to that of the creator + */ + function Forwarder() { + parentAddress = msg.sender; + } + + /** + * Modifier that will execute internal code block only if the sender is a parent of the forwarder contract + */ + modifier onlyParent { + if (msg.sender != parentAddress) { + throw; + } + _; + } + + /** + * Default function; Gets called when Ether is deposited, and forwards it to the destination address + */ + function() payable { + if (!parentAddress.call.value(msg.value)(msg.data)) + throw; + // Fire off the deposited event if we can forward it + ForwarderDeposited(msg.sender, msg.value, msg.data); + } + + /** + * Execute a token transfer of the full balance from the forwarder token to the main wallet contract + * @param tokenContractAddress the address of the erc20 token contract + */ + function flushTokens(address tokenContractAddress) onlyParent { + ERC20Interface instance = ERC20Interface(tokenContractAddress); + var forwarderAddress = address(this); + var forwarderBalance = instance.balanceOf(forwarderAddress); + if (forwarderBalance == 0) { + return; + } + if (!instance.transfer(parentAddress, forwarderBalance)) { + throw; + } + TokensFlushed(tokenContractAddress, forwarderBalance); + } + + /** + * It is possible that funds were sent to this address before the contract was deployed. + * We can flush those funds to the destination address. + */ + function flush() { + if (!parentAddress.call.value(this.balance)()) + throw; + } +} + +/** + * Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds. + * Typically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction. + */ +contract WalletSimple { + // Events + event Deposited(address from, uint value, bytes data); + event SafeModeActivated(address msgSender); + event Transacted( + address msgSender, // Address of the sender of the message initiating the transaction + address otherSigner, // Address of the signer (second signature) used to initiate the transaction + bytes32 operation, // Operation hash (sha3 of toAddress, value, data, expireTime, sequenceId) + address toAddress, // The address the transaction was sent to + uint value, // Amount of Wei sent to the address + bytes data // Data sent when invoking the transaction + ); + event TokenTransacted( + address msgSender, // Address of the sender of the message initiating the transaction + address otherSigner, // Address of the signer (second signature) used to initiate the transaction + bytes32 operation, // Operation hash (sha3 of toAddress, value, tokenContractAddress, expireTime, sequenceId) + address toAddress, // The address the transaction was sent to + uint value, // Amount of token sent + address tokenContractAddress // The contract address of the token + ); + + // Public fields + address[] public signers; // The addresses that can co-sign transactions on the wallet + bool public safeMode = false; // When active, wallet may only send to signer addresses + + // Internal fields + uint constant SEQUENCE_ID_WINDOW_SIZE = 10; + uint[10] recentSequenceIds; + + /** + * Modifier that will execute internal code block only if the sender is an authorized signer on this wallet + */ + modifier onlysigner { + if (!isSigner(msg.sender)) { + throw; + } + _; + } + + /** + * Set up a simple multi-sig wallet by specifying the signers allowed to be used on this wallet. + * 2 signers will be required to send a transaction from this wallet. + * Note: The sender is NOT automatically added to the list of signers. + * Signers CANNOT be changed once they are set + * + * @param allowedSigners An array of signers on the wallet + */ + function WalletSimple(address[] allowedSigners) { + if (allowedSigners.length != 3) { + // Invalid number of signers + throw; + } + signers = allowedSigners; + } + + /** + * Gets called when a transaction is received without calling a method + */ + function() payable { + if (msg.value > 0) { + // Fire deposited event if we are receiving funds + Deposited(msg.sender, msg.value, msg.data); + } + } + + /** + * Create a new contract (and also address) that forwards funds to this contract + * returns address of newly created forwarder address + */ + function createForwarder() onlysigner returns (address) { + return new Forwarder(); + } + + /** + * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover. + * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, data, expireTime and sequenceId + * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated. + * + * @param toAddress the destination address to send an outgoing transaction + * @param value the amount in Wei to be sent + * @param data the data to send to the toAddress when invoking the transaction + * @param expireTime the number of seconds since 1970 for which this transaction is valid + * @param sequenceId the unique sequence id obtainable from getNextSequenceId + * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, data, expireTime, sequenceId) + */ + function sendMultiSig(address toAddress, uint value, bytes data, uint expireTime, uint sequenceId, bytes signature) onlysigner { + // Verify the other signer + var operationHash = sha3("ETHER", toAddress, value, data, expireTime, sequenceId); + + var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId); + + // Success, send the transaction + if (!(toAddress.call.value(value)(data))) { + // Failed executing transaction + throw; + } + Transacted(msg.sender, otherSigner, operationHash, toAddress, value, data); + } + + /** + * Execute a multi-signature token transfer from this wallet using 2 signers: one from msg.sender and the other from ecrecover. + * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, tokenContractAddress, expireTime and sequenceId + * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated. + * + * @param toAddress the destination address to send an outgoing transaction + * @param value the amount in tokens to be sent + * @param tokenContractAddress the address of the erc20 token contract + * @param expireTime the number of seconds since 1970 for which this transaction is valid + * @param sequenceId the unique sequence id obtainable from getNextSequenceId + * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, tokenContractAddress, expireTime, sequenceId) + */ + function sendMultiSigToken(address toAddress, uint value, address tokenContractAddress, uint expireTime, uint sequenceId, bytes signature) onlysigner { + // Verify the other signer + var operationHash = sha3("ERC20", toAddress, value, tokenContractAddress, expireTime, sequenceId); + + var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId); + + ERC20Interface instance = ERC20Interface(tokenContractAddress); + if (!instance.transfer(toAddress, value)) { + throw; + } + TokenTransacted(msg.sender, otherSigner, operationHash, toAddress, value, tokenContractAddress); + } + + /** + * Execute a token flush from one of the forwarder addresses. This transfer needs only a single signature and can be done by any signer + * + * @param forwarderAddress the address of the forwarder address to flush the tokens from + * @param tokenContractAddress the address of the erc20 token contract + */ + function flushForwarderTokens(address forwarderAddress, address tokenContractAddress) onlysigner { + Forwarder forwarder = Forwarder(forwarderAddress); + forwarder.flushTokens(tokenContractAddress); + } + + /** + * Do common multisig verification for both eth sends and erc20token transfers + * + * @param toAddress the destination address to send an outgoing transaction + * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime + * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign) + * @param expireTime the number of seconds since 1970 for which this transaction is valid + * @param sequenceId the unique sequence id obtainable from getNextSequenceId + * returns address of the address to send tokens or eth to + */ + function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) { + + var otherSigner = recoverAddressFromSignature(operationHash, signature); + + // Verify if we are in safe mode. In safe mode, the wallet can only send to signers + if (safeMode && !isSigner(toAddress)) { + // We are in safe mode and the toAddress is not a signer. Disallow! + throw; + } + // Verify that the transaction has not expired + if (expireTime < block.timestamp) { + // Transaction expired + throw; + } + + // Try to insert the sequence ID. Will throw if the sequence id was invalid + tryInsertSequenceId(sequenceId); + + if (!isSigner(otherSigner)) { + // Other signer not on this wallet or operation does not match arguments + throw; + } + if (otherSigner == msg.sender) { + // Cannot approve own transaction + throw; + } + + return otherSigner; + } + + /** + * Irrevocably puts contract into safe mode. When in this mode, transactions may only be sent to signing addresses. + */ + function activateSafeMode() onlysigner { + safeMode = true; + SafeModeActivated(msg.sender); + } + + /** + * Determine if an address is a signer on this wallet + * @param signer address to check + * returns boolean indicating whether address is signer or not + */ + function isSigner(address signer) returns (bool) { + // Iterate through all signers on the wallet and + for (uint i = 0; i < signers.length; i++) { + if (signers[i] == signer) { + return true; + } + } + return false; + } + + /** + * Gets the second signer's address using ecrecover + * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime + * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign) + * returns address recovered from the signature + */ + function recoverAddressFromSignature(bytes32 operationHash, bytes signature) private returns (address) { + if (signature.length != 65) { + throw; + } + // We need to unpack the signature, which is given as an array of 65 bytes (from eth.sign) + bytes32 r; + bytes32 s; + uint8 v; + assembly { + r := mload(add(signature, 32)) + s := mload(add(signature, 64)) + v := and(mload(add(signature, 65)), 255) + } + if (v < 27) { + v += 27; // Ethereum versions are 27 or 28 as opposed to 0 or 1 which is submitted by some signing libs + } + return ecrecover(operationHash, v, r, s); + } + + /** + * Verify that the sequence id has not been used before and inserts it. Throws if the sequence ID was not accepted. + * We collect a window of up to 10 recent sequence ids, and allow any sequence id that is not in the window and + * greater than the minimum element in the window. + * @param sequenceId to insert into array of stored ids + */ + function tryInsertSequenceId(uint sequenceId) onlysigner private { + // Keep a pointer to the lowest value element in the window + uint lowestValueIndex = 0; + for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) { + if (recentSequenceIds[i] == sequenceId) { + // This sequence ID has been used before. Disallow! + throw; + } + if (recentSequenceIds[i] < recentSequenceIds[lowestValueIndex]) { + lowestValueIndex = i; + } + } + if (sequenceId < recentSequenceIds[lowestValueIndex]) { + // The sequence ID being used is lower than the lowest value in the window + // so we cannot accept it as it may have been used before + throw; + } + if (sequenceId > (recentSequenceIds[lowestValueIndex] + 10000)) { + // Block sequence IDs which are much higher than the lowest value + // This prevents people blocking the contract by using very large sequence IDs quickly + throw; + } + recentSequenceIds[lowestValueIndex] = sequenceId; + } + + /** + * Gets the next available sequence ID for signing when using executeAndConfirm + * returns the sequenceId one higher than the highest currently stored + */ + function getNextSequenceId() returns (uint) { + uint highestSequenceId = 0; + for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) { + if (recentSequenceIds[i] > highestSequenceId) { + highestSequenceId = recentSequenceIds[i]; + } + } + return highestSequenceId + 1; + } +} \ No newline at end of file diff --git a/contracts/zeppelin-solidity-1.4/BasicToken.sol b/contracts/zeppelin-solidity-1.4/BasicToken.sol new file mode 100644 index 0000000..70dcff4 --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/BasicToken.sol @@ -0,0 +1,42 @@ +pragma solidity ^0.4.18; + + +import './ERC20Basic.sol'; +import './SafeMath.sol'; + + +/** + * @title Basic token + * @dev Basic version of StandardToken, with no allowances. + */ +contract BasicToken is ERC20Basic { + using SafeMath for uint256; + + mapping(address => uint256) balances; + + /** + * @dev transfer token for a specified address + * @param _to The address to transfer to. + * @param _value The amount to be transferred. + */ + function transfer(address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[msg.sender]); + + // SafeMath.sub will throw if there is not enough balance. + balances[msg.sender] = balances[msg.sender].sub(_value); + balances[_to] = balances[_to].add(_value); + Transfer(msg.sender, _to, _value); + return true; + } + + /** + * @dev Gets the balance of the specified address. + * @param _owner The address to query the the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address _owner) public view returns (uint256 balance) { + return balances[_owner]; + } + +} diff --git a/contracts/zeppelin-solidity-1.4/Crowdsale.sol b/contracts/zeppelin-solidity-1.4/Crowdsale.sol new file mode 100644 index 0000000..98ebf4a --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/Crowdsale.sol @@ -0,0 +1,106 @@ +pragma solidity ^0.4.18; + +import './MintableToken.sol'; +import './SafeMath.sol'; + +/** + * @title Crowdsale + * @dev Crowdsale is a base contract for managing a token crowdsale. + * Crowdsales have a start and end timestamps, where investors can make + * token purchases and the crowdsale will assign them tokens based + * on a token per ETH rate. Funds collected are forwarded to a wallet + * as they arrive. + */ +contract Crowdsale { + using SafeMath for uint256; + + // The token being sold + MintableToken public token; + + // start and end timestamps where investments are allowed (both inclusive) + uint256 public startTime; + uint256 public endTime; + + // address where funds are collected + address public wallet; + + // how many token units a buyer gets per wei + uint256 public rate; + + // amount of raised money in wei + uint256 public weiRaised; + + /** + * event for token purchase logging + * @param purchaser who paid for the tokens + * @param beneficiary who got the tokens + * @param value weis paid for purchase + * @param amount amount of tokens purchased + */ + event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); + + + function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet) public { + require(_startTime >= now); + require(_endTime >= _startTime); + require(_rate > 0); + require(_wallet != address(0)); + + token = createTokenContract(); + startTime = _startTime; + endTime = _endTime; + rate = _rate; + wallet = _wallet; + } + + // creates the token to be sold. + // override this method to have crowdsale of a specific mintable token. + function createTokenContract() internal returns (MintableToken) { + return new MintableToken(); + } + + + // fallback function can be used to buy tokens + function () external payable { + buyTokens(msg.sender); + } + + // low level token purchase function + function buyTokens(address beneficiary) public payable { + require(beneficiary != address(0)); + require(validPurchase()); + + uint256 weiAmount = msg.value; + + // calculate token amount to be created + uint256 tokens = weiAmount.mul(rate); + + // update state + weiRaised = weiRaised.add(weiAmount); + + token.mint(beneficiary, tokens); + TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); + + forwardFunds(); + } + + // send ether to the fund collection wallet + // override to create custom fund forwarding mechanisms + function forwardFunds() internal { + wallet.transfer(msg.value); + } + + // @return true if the transaction can buy tokens + function validPurchase() internal view returns (bool) { + bool withinPeriod = now >= startTime && now <= endTime; + bool nonZeroPurchase = msg.value != 0; + return withinPeriod && nonZeroPurchase; + } + + // @return true if crowdsale event has ended + function hasEnded() public view returns (bool) { + return now > endTime; + } + + +} diff --git a/contracts/zeppelin-solidity-1.4/ERC20.sol b/contracts/zeppelin-solidity-1.4/ERC20.sol new file mode 100644 index 0000000..28ffc01 --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/ERC20.sol @@ -0,0 +1,16 @@ +pragma solidity ^0.4.18; + + +import './ERC20Basic.sol'; + + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +contract ERC20 is ERC20Basic { + function allowance(address owner, address spender) public view returns (uint256); + function transferFrom(address from, address to, uint256 value) public returns (bool); + function approve(address spender, uint256 value) public returns (bool); + event Approval(address indexed owner, address indexed spender, uint256 value); +} diff --git a/contracts/zeppelin-solidity-1.4/ERC20Basic.sol b/contracts/zeppelin-solidity-1.4/ERC20Basic.sol new file mode 100644 index 0000000..c972eda --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/ERC20Basic.sol @@ -0,0 +1,14 @@ +pragma solidity ^0.4.18; + + +/** + * @title ERC20Basic + * @dev Simpler version of ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/179 + */ +contract ERC20Basic { + uint256 public totalSupply; + function balanceOf(address who) public view returns (uint256); + function transfer(address to, uint256 value) public returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); +} diff --git a/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol b/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol new file mode 100644 index 0000000..fab14b4 --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/FinalizableCrowdsale.sol @@ -0,0 +1,40 @@ +pragma solidity ^0.4.18; + +import './SafeMath.sol'; +import './Ownable.sol'; +import './Crowdsale.sol'; + +/** + * @title FinalizableCrowdsale + * @dev Extension of Crowdsale where an owner can do extra work + * after finishing. + */ +contract FinalizableCrowdsale is Crowdsale, Ownable { + using SafeMath for uint256; + + bool public isFinalized = false; + + event Finalized(); + + /** + * @dev Must be called after crowdsale ends, to do some extra finalization + * work. Calls the contract's finalization function. + */ + function finalize() onlyOwner public { + require(!isFinalized); + require(hasEnded()); + + finalization(); + Finalized(); + + isFinalized = true; + } + + /** + * @dev Can be overridden to add finalization logic. The overriding function + * should call super.finalization() to ensure the chain of finalization is + * executed entirely. + */ + function finalization() internal { + } +} diff --git a/contracts/zeppelin-solidity-1.4/MintableToken.sol b/contracts/zeppelin-solidity-1.4/MintableToken.sol new file mode 100644 index 0000000..f32a9ff --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/MintableToken.sol @@ -0,0 +1,51 @@ +pragma solidity ^0.4.18; + + +import './StandardToken.sol'; +import './Ownable.sol'; + + + +/** + * @title Mintable token + * @dev Simple ERC20 Token example, with mintable token creation + * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120 + * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol + */ + +contract MintableToken is StandardToken, Ownable { + event Mint(address indexed to, uint256 amount); + event MintFinished(); + + bool public mintingFinished = false; + + + modifier canMint() { + require(!mintingFinished); + _; + } + + /** + * @dev Function to mint tokens + * @param _to The address that will receive the minted tokens. + * @param _amount The amount of tokens to mint. + * @return A boolean that indicates if the operation was successful. + */ + function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { + totalSupply = totalSupply.add(_amount); + balances[_to] = balances[_to].add(_amount); + Mint(_to, _amount); + Transfer(address(0), _to, _amount); + return true; + } + + /** + * @dev Function to stop minting new tokens. + * @return True if the operation was successful. + */ + function finishMinting() onlyOwner canMint public returns (bool) { + mintingFinished = true; + MintFinished(); + return true; + } +} diff --git a/contracts/zeppelin-solidity-1.4/Ownable.sol b/contracts/zeppelin-solidity-1.4/Ownable.sol new file mode 100644 index 0000000..0e27449 --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/Ownable.sol @@ -0,0 +1,44 @@ +pragma solidity ^0.4.18; + + +/** + * @title Ownable + * @dev The Ownable contract has an owner address, and provides basic authorization control + * functions, this simplifies the implementation of "user permissions". + */ +contract Ownable { + address public owner; + + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + + /** + * @dev The Ownable constructor sets the original `owner` of the contract to the sender + * account. + */ + function Ownable() public { + owner = msg.sender; + } + + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(msg.sender == owner); + _; + } + + + /** + * @dev Allows the current owner to transfer control of the contract to a newOwner. + * @param newOwner The address to transfer ownership to. + */ + function transferOwnership(address newOwner) public onlyOwner { + require(newOwner != address(0)); + OwnershipTransferred(owner, newOwner); + owner = newOwner; + } + +} diff --git a/contracts/zeppelin-solidity-1.4/SafeMath.sol b/contracts/zeppelin-solidity-1.4/SafeMath.sol new file mode 100644 index 0000000..234daf6 --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/SafeMath.sol @@ -0,0 +1,35 @@ +pragma solidity ^0.4.18; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + */ +library SafeMath { + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + uint256 c = a * b; + assert(c / a == b); + return c; + } + + function div(uint256 a, uint256 b) internal pure returns (uint256) { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return c; + } + + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + assert(b <= a); + return a - b; + } + + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + assert(c >= a); + return c; + } +} diff --git a/contracts/zeppelin-solidity-1.4/StandardToken.sol b/contracts/zeppelin-solidity-1.4/StandardToken.sol new file mode 100644 index 0000000..5daf15d --- /dev/null +++ b/contracts/zeppelin-solidity-1.4/StandardToken.sol @@ -0,0 +1,87 @@ +pragma solidity ^0.4.18; + + +import './BasicToken.sol'; +import './ERC20.sol'; + + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * @dev https://github.com/ethereum/EIPs/issues/20 + * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract StandardToken is ERC20, BasicToken { + + mapping (address => mapping (address => uint256)) internal allowed; + + + /** + * @dev Transfer tokens from one address to another + * @param _from address The address which you want to send tokens from + * @param _to address The address which you want to transfer to + * @param _value uint256 the amount of tokens to be transferred + */ + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[_from]); + require(_value <= allowed[_from][msg.sender]); + + balances[_from] = balances[_from].sub(_value); + balances[_to] = balances[_to].add(_value); + allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); + Transfer(_from, _to, _value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param _spender The address which will spend the funds. + * @param _value The amount of tokens to be spent. + */ + function approve(address _spender, uint256 _value) public returns (bool) { + allowed[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param _owner address The address which owns the funds. + * @param _spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance(address _owner, address _spender) public view returns (uint256) { + return allowed[_owner][_spender]; + } + + /** + * approve should be called when allowed[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + */ + function increaseApproval(address _spender, uint _addedValue) public returns (bool) { + allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + + function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { + uint oldValue = allowed[msg.sender][_spender]; + if (_subtractedValue > oldValue) { + allowed[msg.sender][_spender] = 0; + } else { + allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); + } + Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + +} diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js index 4d5f3f9..6e0a9f1 100644 --- a/migrations/1_initial_migration.js +++ b/migrations/1_initial_migration.js @@ -1,4 +1,4 @@ -var Migrations = artifacts.require("./Migrations.sol"); +var Migrations = artifacts.require("Migrations"); module.exports = function(deployer) { deployer.deploy(Migrations); diff --git a/migrations/2_deploy_contracts.js b/migrations/2_deploy_contracts.js index b3dc3e9..86effc1 100644 --- a/migrations/2_deploy_contracts.js +++ b/migrations/2_deploy_contracts.js @@ -1,8 +1,76 @@ -var ConvertLib = artifacts.require("./ConvertLib.sol"); -var MetaCoin = artifacts.require("./MetaCoin.sol"); +var BRDCrowdsale = artifacts.require("BRDCrowdsale"); +var BRDCrowdsaleAuthorizer = artifacts.require("BRDCrowdsaleAuthorizer"); +var BRDToken = artifacts.require("BRDToken"); +var BRDLockup = artifacts.require("BRDLockup"); +var WalletSimple = artifacts.require("WalletSimple"); +var constants = require('../constants.js'); -module.exports = function(deployer) { - deployer.deploy(ConvertLib); - deployer.link(ConvertLib, MetaCoin); - deployer.deploy(MetaCoin); +function errOut(msg) { + return function() { + console.log(msg, arguments); + // process.abort(); + } +} + +var initialAuthorizers = { + 'ropsten': ['0x001702423633bF0Bdba9d357403940A6A2F860f5', '0x0ce2ad051ce97a3d4623c62ae2edc88413f65da8'], + 'mainnet': ['0xa768cc13d1ab64283882ffa74255bb0564a7592b', '0x1e4b9fd7a1ccee6dee97c2608e92fbee6e1f04c6'], + 'development': [], +} + +module.exports = function(deployer, network, accounts) { + var c = constants(web3, accounts, network); + + // this is the plan: + // deploy BRDCrowdsaleAuthorizer + // deploy BRDToken + // deploy BRDLockup + // deploy BRDCrowdsale + // set owner of BRDToken, BRDLockup, BRDCrowdsaleAuthorizer to BRDCrowsdale + // set the `token` `lockup` and `authorizer` of BRDCrowdsale + // add token lockups + + deployer.deploy([ + [WalletSimple, [accounts[0], accounts[0], accounts[0]]], + BRDCrowdsaleAuthorizer, + BRDToken, + [BRDLockup, c.endTime, c.numIntervals, c.intervalDuration] + ]).then(function() { + deployer.deploy( + BRDCrowdsale, + c.cap, c.minContribution, c.maxContribution, + c.startTime, c.endTime, + c.rate, c.ownerRate, c.bonusRate, + WalletSimple.address, WalletSimple.address, + ).then(function() { + var authorizer = BRDCrowdsaleAuthorizer.at(BRDCrowdsaleAuthorizer.address); + authorizer.addAuthorizer(accounts[0]) + .catch(errOut('MIGRATE: error setting accounts[0] as authorizer')) + .then(function() { + authorizer.transferOwnership(BRDCrowdsale.address) + .catch(errOut('MIGRATE: error transfering authorizer ownership')); + BRDToken.at(BRDToken.address).transferOwnership(BRDCrowdsale.address) + .catch(errOut('MIGRATE: error transfering token ownership')); + BRDLockup.at(BRDLockup.address).transferOwnership(BRDCrowdsale.address) + .catch(errOut('MIGRATE: error transfering lockup ownership')); + + var crowdsale = BRDCrowdsale.at(BRDCrowdsale.address); + + crowdsale.setAuthorizer(BRDCrowdsaleAuthorizer.address) + .catch(errOut('MIGRATE: error setting authorizer')); + + crowdsale.setToken(BRDToken.address).then(function() { + crowdsale.setLockup(BRDLockup.address).then(function() { + + }).catch(errOut('MIGRATE: error setting lockup')); + }).catch(errOut('MIGRATE: error setting token')); + + var authorized = initialAuthorizers[network]; + authorized.forEach(function(acct) { + authorizer.addAuthorizer(acct, {from: accounts[0]}) + .catch(errOut('MIGRATE: error authorizing user')); + }); + }); + }).catch(errOut('MIGRATE: error deploying crowdsale')); + }).catch(errOut('MIGRATE: error deploying initial contracts')); }; diff --git a/migrations/3_allocate_presale.js b/migrations/3_allocate_presale.js new file mode 100644 index 0000000..5bdb767 --- /dev/null +++ b/migrations/3_allocate_presale.js @@ -0,0 +1,55 @@ +var BRDCrowdsale = artifacts.require("BRDCrowdsale"); +var constants = require('../constants.js'); + +var lockups = [ + // ["370777.50", "0x980844d9bC79F363cafe22a371F6244232402e79"], // 1 + // ["225000.00", "0xED7898CA56255675b2dd510b5B2112BFf9e972DA"], // 2 + // ["135000.00", "0xbd125f7c40e252a090871b865aca471f5cb8ee01"], // 3 + // ["139098.07", "0x03aa28a83Bc4aeef94603b9c159E16d93bd47BB5"], // 4 + // ["225000.00", "0x041DeDfeC783D8D6D8BD4f81Cb3675042151184D"], // 5 + // ["241875.00", "0x7adc26b95c3e4625e1ac01f4eba38273e6c1ce48"], // 6 + // ["225000.00", "0xD1AfEe2cE6f9b4b153D9E7b2e457d2004C0A8d94"], // 7 + // ["225000.00", "0x199183bB208F7213eb60EB5EC058C352e73b5609"], // 8 + // ["225000.00", "0x3413e211F87912FF57E93b4cEc3a76E782663DB4"], // 9 + // ["180000.00", "0x6788e9A381F0734D2db5C9306F332d893D3F1013"], // 10 + // ["337500.00", "0x85caC145aE8aA571De38a7657af51ec776eA10aB"], // 11 + // ["393750.00", "0x89f40fde58eEe6D66F8f67CBBA21886c3640c3e5"], // 12 + // ["393750.00", "0xB36AcB2125093a52B955069228ab5b1Cbf2b5A3a"], // 13 + // ["562500.00", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 14 + // ["2812500.00", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 15 + // ["450000.00", "0xD6901D6a9b20240684abD43fa658486d9083D21D"], // 16 + // ["3859875.00", "0xe985BF38bCDADdD37B4E55b7fB7669174c006461"], // 17 + // ["2362500.00", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 18 + // ["2486963.25", "0x0b0590cf091808a4a302a48792060fcf1915c308"], // 19 + // ["2812500.00", "0xf433c2141c253377830501ce76f8f31c41a2797b"], // 20 + // ["3375000.00", "0xD05586471d8e4266c1f4DE77a33777085CB2144E"], // 21 + // ["56250.00", "0x98d027C9B1b68c8C52B0dC9a8A85b96d97c80fdC"], // 22 + // ["140625.00", "0x8027B855183C6324e205F090988E0763e1393683"], // 23 + // ["562500.00", "0x1d90f96567852738c0e6a6b23f830de3cd082410"], // 24 + // ["2812500.00", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 25 + // ["225000.00", "0xE23D91d9D6C1B08f7F3477f902123411901Bb30B"], // 26 + // ["172462.50", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 27 + // ["108000", "0x60Aa341B1BfBF2c46EFb5480A44BDa4cb754374B"], // ["1810125.00", "0x60Aa341B1BfBF2c46EFb5480A44BDa4cb754374B"], // 28 + // ["115628.70", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 29 -- CANCELED ENTIRELY, SENDING TO ESCROW + // ["380139.98", "0x0bf43BA665BdBb4ee5d328A1E05955C8a3Fd281f"], // 30 + // ["168750.00", "0x4AdD6B9E6183723492d7291d74aF6bf153Dd5C31"], // 31 + // ["225000.00", "0xAe912ECf340f9D8a224F40987aA5F56C8c14bE6c"], // 32 + // ["337500.00", "0x33fBa7651eefd9b44d09bf7e9002617e1aeC7991"], // 33 + // ["308430.00", "0x1621d5d7b154c7288f32Bf0C27da575546dF6e75"], // 34 + // ["302625.00", "0xA65E9feC4f892ef6E9FE3888eD9B0EB6AaB1f0FD"], // 35 + // ["3214125.00", "0x0f039c8b813f514e95694060cf967dd875224f0a"], // 36 +]; + +module.exports = function(deployer, network, accounts) { + var c = constants(web3, accounts, network); + var crowdsale = BRDCrowdsale.at('0x5250776FAD5A73707d222950de7999d3675a2722'); + for (var i = 0; i < lockups.length; i++) { + var lockup = lockups[i]; + if (lockup.length) { + var amount = new web3.BigNumber(lockup[0]).mul(c.exponent); + var to = lockup[1]; + console.log((i+1)+'', 'locking up', amount.div(c.exponent).toString(10), 'to', to); + crowdsale.lockupTokens(to, amount); + } + } +} diff --git a/migrations/4_allocate_brd_share.js b/migrations/4_allocate_brd_share.js new file mode 100644 index 0000000..6917663 --- /dev/null +++ b/migrations/4_allocate_brd_share.js @@ -0,0 +1,27 @@ +var BRDCrowdsale = artifacts.require("BRDCrowdsale"); +var BRDToken = artifacts.require("BRDToken"); +var constants = require('../constants.js'); + +module.exports = function(deployer, network, accounts) { + var c = constants(web3, accounts, network); + var crowdsale = BRDCrowdsale.at('0x5250776FAD5A73707d222950de7999d3675a2722'); + var token = BRDToken.at('0x558ec3152e2eb2174905cd19aea4e34a23de9ad6'); + var beneficiary = '0x081edbef6106ab1253557451b261c1c99bade726'; + var targetTotalTokens = (new web3.BigNumber('88862718')).mul(c.exponent); + var ownerRate = new web3.BigNumber(25); + web3.BigNumber.config({DECIMAL_PLACES: 18, ROUNDING_MODE: 1}); + Promise.all([token.totalSupply.call(), token.balanceOf(beneficiary)]).then(function(ret) { + var currentTotalTokens = ret[0]; + var currentBeneficiaryBalance = ret[1]; + var difference = targetTotalTokens.sub(currentTotalTokens); + var automaticOwnerTokens = ownerRate.mul(difference).div(new web3.BigNumber(100)) + var beneficiaryAmount = difference.sub(automaticOwnerTokens); + console.log('minting', beneficiaryAmount.div(c.exponent).toString(10)); + console.log('with', automaticOwnerTokens.div(c.exponent).toString(10), 'automatically created'); + var finalTotalAmount = currentTotalTokens.add(automaticOwnerTokens.add(beneficiaryAmount)); + console.log('final token amount', finalTotalAmount.div(c.exponent).toString(10)); + var ownerShare = currentBeneficiaryBalance.add(automaticOwnerTokens).add(beneficiaryAmount); + console.log('owner share amount', ownerShare.div(finalTotalAmount).toString(10)); + // crowdsale.allocateTokens(beneficiary, beneficiaryAmount); + }); +}; diff --git a/migrations/5_finalize.js b/migrations/5_finalize.js new file mode 100644 index 0000000..f68565d --- /dev/null +++ b/migrations/5_finalize.js @@ -0,0 +1,10 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var constants = require('../constants.js'); + +module.exports = function(deployer, network, accounts) { + deployer.then(function() { + var c = constants(web3, accounts, network); + var crowdsale = BRDCrowdsale.at('0x5250776FAD5A73707d222950de7999d3675a2722'); + // crowdsale.finalize(); + }); +} diff --git a/migrations/6_distribute_compensations.js b/migrations/6_distribute_compensations.js new file mode 100644 index 0000000..91b282f --- /dev/null +++ b/migrations/6_distribute_compensations.js @@ -0,0 +1,87 @@ +var BRDToken = artifacts.require('BRDToken'); +var csv = require('csv-parse/lib/sync'); +var fs = require('fs'); +var path = require('path'); +var constants = require('../constants.js'); + +var compText = fs.readFileSync(path.join(__dirname, '..', 'compensation.csv')); +var compRecords = csv(compText, {columns: true}); + +module.exports = function(deployer, network, accounts) { + var c = constants(web3, accounts, network); + var gasPrice = new web3.BigNumber('1000000000'); + var token = BRDToken.at('0x558ec3152e2eb2174905cd19aea4e34a23de9ad6'); + deployer.then(function() { + console.log(compRecords.length + ' total records'); + + var maxGas = 52301; + var totalBrd = new web3.BigNumber(0); + var totalEth = new web3.BigNumber(0); + var numEthTxns = 0; + var totalGas = 0; + + var compensations = compRecords.map(function(rec) { + var comp = { + address: rec.address, + brd: (new web3.BigNumber(rec.brd)).mul(c.exponent), + }; + totalBrd = totalBrd.add(comp.brd); + totalGas += maxGas; + + if (rec.eth != '0') { + comp.eth = (new web3.BigNumber(rec.eth)).mul(c.exponent); + numEthTxns += 1; + totalEth = totalEth.add(comp.eth); + totalGas += 21000; + } + return comp; + }); + + console.log(totalBrd.div(c.exponent).toString(10) + ' total BRD'); + console.log(totalEth.div(c.exponent).toString(10) + ' total ETH'); + console.log(numEthTxns + ' total ETH-bearing txns'); + console.log((numEthTxns + compensations.length) + ' total txns'); + console.log(totalGas + ' total gas'); + console.log(gasPrice.mul(totalGas).div(c.exponent).toString(10) + ' total ETH txn fees'); + + var compensationsWithTxids = {}; + var allTransfers = []; + + compensations.forEach(function(comp) { + var promises = [token.transfer(comp.address, comp.brd)]; + if (comp.eth) { + promises.push(new Promise(function(res, rej) { + var txn = { + from: accounts[0], + to: comp.address, + value: comp.eth, + gas: 21000, + gasPrice: gasPrice + }; + web3.eth.sendTransaction(txn, function(err, txhash) { + if (err) { + console.log(comp.address, 'send eth failed', err); + rej(err); + } else { + console.log(comp.address, 'send eth', txhash); + res({tx: txhash}); + } + }); + })); + } + promises.forEach(function(prom) { allTransfers.push(prom); }); + Promise.all(promises).then(function(results) { + comp.brdTxId = results[0].tx; + if (results.length == 2) { + comp.ethTxId = results[1].tx; + } + compensationsWithTxids[comp.address] = comp; + }); + }); + + Promise.all(allTransfers).then(function() { + var json = JSON.stringify(compensationsWithTxids); + fs.writeFileSync(path.join(__dirname, '..', 'compensation.json'), json); + }); + }); +} \ No newline at end of file diff --git a/migrations/_xx_3_add_authorizers.js b/migrations/_xx_3_add_authorizers.js new file mode 100644 index 0000000..c36e3ef --- /dev/null +++ b/migrations/_xx_3_add_authorizers.js @@ -0,0 +1,25 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var BRDCrowdsaleAuthorizer = artifacts.require('BRDCrowdsaleAuthorizer'); +var constants = require('../constants.js'); + +var authorizers = { + 'ropsten': [ + ['0x001702423633bF0Bdba9d357403940A6A2F860f5', '0x0ce2ad051ce97a3d4623c62ae2edc88413f65da8'] + ] +}; + +module.exports = function(deployer, network, accounts) { + // deployer.then(function() { + // var c = constants(web3, accounts, network); + // var crowdsale; + // BRDCrowdsale.deployed().then(function(crowdsaleInstance) { + // crowdsale = crowdsaleInstance; + // crowdsale.authorizer.call().then(function(authorizerAddr) { + // var authorizer = BRDCrowdsaleAuthorizer.at(authorizerAddr); + // authorizers[network].forEach(function(account) { + // authorizer.addAuthorizer(account); + // }); + // }); + // }); + // }); +} diff --git a/migrations/_xx_3_allocate_test.js b/migrations/_xx_3_allocate_test.js new file mode 100644 index 0000000..b75f2c6 --- /dev/null +++ b/migrations/_xx_3_allocate_test.js @@ -0,0 +1,11 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var constants = require('../constants.js'); + +// this will allocate test tokens to 0x9e2bA8D116EF91C070dAAb4f043EAd3518206C97 +module.exports = function(deployer, network, accounts) { + deployer.then(function() { + var c = constants(web3, accounts, network); + var crowdsale = BRDCrowdsale.at('0x214a6e8a4510828dab101afc4e0a5859c62c44e1'); + crowdsale.allocateTokens('0x9e2bA8D116EF91C070dAAb4f043EAd3518206C97', new web3.BigNumber(900).mul(c.exponent)); + }); +} diff --git a/migrations/_xx_4_populate_lockups.js b/migrations/_xx_4_populate_lockups.js new file mode 100644 index 0000000..904b37e --- /dev/null +++ b/migrations/_xx_4_populate_lockups.js @@ -0,0 +1,24 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var constants = require('../constants.js'); + +var allocations = { + 'ropsten': [ + [0x001702423633bF0Bdba9d357403940A6A2F860f5, 33750], + [0xc9f05F4dd7fc0e7F06DA06132f4cCB0abaC46089, 1125], + ] +}; + +module.exports = function(deployer, network, accounts) { + // deployer.then(function() { + // var c = constants(web3, accounts, network); + // var crowdsale; + // BRDCrowdsale.deployed().then(function(crowdsaleInstance) { + // crowdsale = crowdsaleInstance; + // allocations[network].forEach(function(val) { + // var account = val[0]; + // var amount = (new web3.BigNumber(val[1])).mul(c.exponent); + // crowdsale.lockupTokens(account, amount); + // }); + // }); + // }); +} \ No newline at end of file diff --git a/migrations/_xx_5_increase_maxContribution.js b/migrations/_xx_5_increase_maxContribution.js new file mode 100644 index 0000000..f54c9fb --- /dev/null +++ b/migrations/_xx_5_increase_maxContribution.js @@ -0,0 +1,31 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var constants = require('../constants.js'); + +var updates = { + ropsten: { + newMax: 100, // eth + timeAfterStart: 2 * 3600, // 2 hrs + }, + mainnet: { + newMax: 3000, // eth + timeAfterStart: 24 * 3600, // 24 hrs + } +}; + +module.exports = function(deployer, network, accounts) { + // deployer.then(function() { + // var c = constants(web3, accounts, network); + // var crowdsale; + // BRDCrowdsale.deployed().then(function(crowdsaleInstance) { + // crowdsale = crowdsaleInstance; + // var update = updates[network]; + // var now = Math.floor(Date.now() / 1000); + // var needsTime = c.startTime + update.timeAfterStart; + // if (now > needsTime) { + // crowdsale.setMaxContribution((new web3.BigNumber(update.newMax)).mul(c.exponent)); + // } else { + // throw 'not time yet time now =' + now + ' expecting time =' + needsTime; + // } + // }); + // }); +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..843b7b3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4678 @@ +{ + "name": "smart-contracts", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "requires": { + "xtend": "4.0.1" + } + }, + "accepts": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "requires": { + "mime-types": "2.1.17", + "negotiator": "0.6.1" + } + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "ajv": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "requires": { + "lodash": "4.17.4" + } + }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "requires": { + "async": "2.6.0" + } + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + } + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + } + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babelify": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", + "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", + "requires": { + "babel-core": "6.26.0", + "object-assign": "4.1.1" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base-x": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-1.1.0.tgz", + "integrity": "sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w=" + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "bignumber.js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-5.0.0.tgz", + "integrity": "sha512-KWTu6ZMVk9sxlDJQh2YH1UOnfDP8O8TpxUxgQG/vKASoSnEjK9aVuOueFaPcQEYQ5fyNXNTOYwYw3099RYebWg==" + }, + "bindings": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" + }, + "bip39": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.4.0.tgz", + "integrity": "sha512-1++HywqIyPtWDo7gm4v0ylYbwkLvHkuwVSKbBlZBbTCP/mnkyrlARBny906VLAwxJbC5xw9EvuJasHFIZaIFMQ==", + "requires": { + "create-hash": "1.1.3", + "pbkdf2": "3.0.14", + "randombytes": "2.0.5", + "safe-buffer": "5.1.1", + "unorm": "1.4.1" + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "requires": { + "readable-stream": "2.3.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "2.0.3" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.1", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.15" + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "requires": { + "hoek": "4.2.0" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-sha3": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.1.tgz", + "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=", + "requires": { + "js-sha3": "0.3.1" + } + }, + "bs58": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-3.1.0.tgz", + "integrity": "sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4=", + "requires": { + "base-x": "1.1.0" + } + }, + "bs58check": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-1.3.4.tgz", + "integrity": "sha1-xSVABzdJEXcU+gQsMEfrj5FRy/g=", + "requires": { + "bs58": "3.1.0", + "create-hash": "1.1.3" + } + }, + "buffer": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", + "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-to-arraybuffer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.2.tgz", + "integrity": "sha1-0NgFZNwxhmoZdlFUh7OrYg23yEk=", + "requires": { + "tape": "3.6.1" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "checkpoint-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", + "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", + "requires": { + "functional-red-black-tree": "1.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "coinstring": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-2.3.0.tgz", + "integrity": "sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q=", + "requires": { + "bs58": "2.0.1", + "create-hash": "1.1.3" + }, + "dependencies": { + "bs58": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz", + "integrity": "sha1-VZCNWPGYKrogCPob7Y+RmYopv40=" + } + } + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", + "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", + "requires": { + "object-assign": "4.1.1", + "vary": "1.1.2" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.9" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.2.0" + } + } + } + }, + "crypto-js": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", + "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" + }, + "csv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/csv/-/csv-2.0.0.tgz", + "integrity": "sha1-DVHY+j7OJ4tUCfeVcX/PzVrOmz4=", + "requires": { + "csv-generate": "2.0.0", + "csv-parse": "2.0.0", + "csv-stringify": "2.0.1", + "stream-transform": "1.0.0" + } + }, + "csv-generate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-2.0.0.tgz", + "integrity": "sha1-q0/cMNtc5niwfVOITGn6VFYYslw=" + }, + "csv-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-2.0.0.tgz", + "integrity": "sha1-TqIslzIzmH8HaIxgGi1GAjT/VtE=" + }, + "csv-stringify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-2.0.1.tgz", + "integrity": "sha512-qoWgXJHmANfwIZFogezZjfN7KeaALrSe2zA5velb2tVEx0r7tgVuMfideB5gq12x5Z7LkvgOayXplOwlKcXnKQ==", + "requires": { + "lodash.get": "4.4.2" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "4.1.1", + "decompress-tarbz2": "4.1.1", + "decompress-targz": "4.1.1", + "decompress-unzip": "4.0.1", + "graceful-fs": "4.1.11", + "make-dir": "1.1.0", + "pify": "2.3.0", + "strip-dirs": "2.1.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "5.2.0", + "is-stream": "1.1.0", + "tar-stream": "1.5.5" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "6.2.0", + "is-stream": "1.1.0", + "seek-bzip": "1.0.5", + "unbzip2-stream": "1.2.5" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "5.2.0", + "is-stream": "1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "3.9.0", + "get-stream": "2.3.1", + "pify": "2.3.0", + "yauzl": "2.9.1" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + } + } + }, + "deep-equal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=" + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" + }, + "deferred-leveldown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "requires": { + "abstract-leveldown": "2.6.3" + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + }, + "dependencies": { + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + } + } + }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "2.0.1" + } + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=" + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.19" + } + }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "requires": { + "once": "1.4.0" + } + }, + "errno": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", + "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", + "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eth-lib": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", + "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0", + "keccakjs": "0.2.1", + "nano-json-stream-parser": "0.1.2", + "servify": "0.1.12", + "ws": "3.3.2", + "xhr-request-promise": "0.1.2" + } + }, + "ethereum-common": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", + "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" + }, + "ethereumjs-abi": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.4.tgz", + "integrity": "sha1-m6G7BWSS0AwnJ59uzNTVgnWRLBo=", + "requires": { + "bn.js": "4.11.8", + "ethereumjs-util": "4.5.0" + } + }, + "ethereumjs-account": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.4.tgz", + "integrity": "sha1-+MMCMby3B/RRTYoFLB+doQNiTUc=", + "requires": { + "ethereumjs-util": "4.5.0", + "rlp": "2.0.0" + } + }, + "ethereumjs-block": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.0.tgz", + "integrity": "sha512-4s4Hh7mWa1xr+Bggh3T3jsq9lmje5aYpJRFky00bo/xNgNe+RC8V2ulWYSR4YTEKqLbnLEsLNytjDe5hpblkZQ==", + "requires": { + "async": "2.6.0", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "1.3.3", + "ethereumjs-util": "5.1.2", + "merkle-patricia-tree": "2.3.0" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.4.0", + "rlp": "2.0.0", + "secp256k1": "3.3.1" + } + } + } + }, + "ethereumjs-tx": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.3.tgz", + "integrity": "sha1-7OBR0+/b53GtKlGNYWMsoqt17Ls=", + "requires": { + "ethereum-common": "0.0.18", + "ethereumjs-util": "5.1.2" + }, + "dependencies": { + "ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + }, + "ethereumjs-util": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.4.0", + "rlp": "2.0.0", + "secp256k1": "3.3.1" + } + } + } + }, + "ethereumjs-util": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", + "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", + "requires": { + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "keccakjs": "0.2.1", + "rlp": "2.0.0", + "secp256k1": "3.3.1" + } + }, + "ethereumjs-vm": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.3.2.tgz", + "integrity": "sha512-uREIQ4juS3nnZc9I1khWvw5fjpN4heaI/IDWdbc89x6YuXkmt/QrI/X3QDQI+S4ojFEoigBh9p1eezyitFmMKA==", + "requires": { + "async": "2.6.0", + "async-eventemitter": "0.2.4", + "ethereum-common": "0.2.0", + "ethereumjs-account": "2.0.4", + "ethereumjs-block": "1.7.0", + "ethereumjs-util": "4.5.0", + "fake-merkle-patricia-tree": "1.0.1", + "functional-red-black-tree": "1.0.1", + "merkle-patricia-tree": "2.3.0", + "rustbn.js": "0.1.1", + "safe-buffer": "5.1.1" + } + }, + "ethereumjs-wallet": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-0.6.0.tgz", + "integrity": "sha1-gnY7Fpfuenlr5xVdqd+0my+Yz9s=", + "requires": { + "aes-js": "0.2.4", + "bs58check": "1.3.4", + "ethereumjs-util": "4.5.0", + "hdkey": "0.7.1", + "scrypt.js": "0.2.0", + "utf8": "2.1.1", + "uuid": "2.0.3" + }, + "dependencies": { + "aes-js": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-0.2.4.tgz", + "integrity": "sha1-lLiBq3FyhtAV+iGeCPtmcJ3aWj0=" + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" + } + } + }, + "ethers": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-2.1.3.tgz", + "integrity": "sha512-9vjce4+nLQCNT7bI07rGEIWGmZvZCw+SzV7Ek/H3Los7hC+ZK0L73zp8gaORE+dYuxP1YRRZrRQP+ocuhnJk9w==", + "requires": { + "ethers-contracts": "2.1.8", + "ethers-providers": "2.1.14", + "ethers-utils": "2.1.8", + "ethers-wallet": "2.1.6" + } + }, + "ethers-contracts": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/ethers-contracts/-/ethers-contracts-2.1.8.tgz", + "integrity": "sha512-litnoma4leRYzTXIdjw2Ehi8GaN2WZBY3AUZbEMgFma6qOrajtVl7j4rNyyCjFv8IIropq69EHlFTy/RSqflYg==", + "requires": { + "ethers-utils": "2.1.8" + } + }, + "ethers-providers": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/ethers-providers/-/ethers-providers-2.1.14.tgz", + "integrity": "sha512-q2tijonGll2lnzHk3aTxIxPGP9t1vKetKywKzBXCOH/lksaM5hyUgNRkuNPD+YZvK4jGR9qQIxQETGw+X1J/aw==", + "requires": { + "ethers-utils": "2.1.8", + "inherits": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + } + } + }, + "ethers-utils": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/ethers-utils/-/ethers-utils-2.1.8.tgz", + "integrity": "sha512-hpB/aZvKWSqDGtarlfApj5u21YMqATxG0lkzz/v08XxT0lP9S6x/aDc9/x2rAVsCjSm/jIpPZxoP0LDJyss0nA==", + "requires": { + "bn.js": "4.11.8", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + } + } + }, + "ethers-wallet": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/ethers-wallet/-/ethers-wallet-2.1.6.tgz", + "integrity": "sha512-fwmh/xbo5zwJ2FHLVQYIcnV48dXqiSlS54UqHX4x1TEUVUUNSFn8ppJ2FValohBN6PAK/VDcHNzbxPhOysCcGw==", + "requires": { + "aes-js": "3.0.0", + "elliptic": "6.3.3", + "ethers-utils": "2.1.8", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "inherits": "2.0.3" + } + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "ethjs-util": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.4.tgz", + "integrity": "sha1-HItoeSV0RO9NPz+7rC3tEs2ZfZM=", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", + "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "expand-template": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", + "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==" + }, + "express": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "requires": { + "accepts": "1.3.4", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.1", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.0", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.2", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.1", + "serve-static": "1.13.1", + "setprototypeof": "1.1.0", + "statuses": "1.3.1", + "type-is": "1.6.15", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fake-merkle-patricia-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", + "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", + "requires": { + "checkpoint-store": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "requires": { + "is-function": "1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0" + } + }, + "fs-promise": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", + "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", + "requires": { + "any-promise": "1.3.0", + "fs-extra": "2.1.2", + "mz": "2.7.0", + "thenify-all": "1.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "requires": { + "inherits": "2.0.3", + "minimatch": "0.3.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "5.5.1", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "has-symbol-support-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" + } + }, + "hdkey": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-0.7.1.tgz", + "integrity": "sha1-yu5L6BqneSHpCbjSKN0PKayu5jI=", + "requires": { + "coinstring": "2.3.0", + "secp256k1": "3.3.1" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ipaddr.js": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "js-sha3": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.3.1.tgz", + "integrity": "sha1-hhIoAhQvCChQKg0d7h2V4lO7AkM=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "1.3.0", + "inherits": "2.0.3", + "nan": "2.8.0", + "safe-buffer": "5.1.1" + } + }, + "keccakjs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.1.tgz", + "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=", + "requires": { + "browserify-sha3": "0.0.1", + "sha3": "1.2.0" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "level-codec": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + }, + "level-errors": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", + "requires": { + "errno": "0.1.6" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", + "requires": { + "inherits": "2.0.3", + "level-errors": "1.0.5", + "readable-stream": "1.1.14", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "level-ws": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", + "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", + "requires": { + "readable-stream": "1.0.34", + "xtend": "2.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "requires": { + "deferred-leveldown": "1.2.2", + "level-codec": "7.0.1", + "level-errors": "1.0.5", + "level-iterator-stream": "1.3.1", + "prr": "1.0.1", + "semver": "5.4.1", + "xtend": "4.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=" + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._basecreate": "3.0.3", + "lodash._isiterateecall": "3.0.9" + } + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "ltgt": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.0.tgz", + "integrity": "sha1-tlul/LNJopkkyOMz98alVi8uSEI=" + }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memdown": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", + "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", + "requires": { + "abstract-leveldown": "2.7.2", + "functional-red-black-tree": "1.0.1", + "immediate": "3.2.3", + "inherits": "2.0.3", + "ltgt": "2.2.0", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", + "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "requires": { + "xtend": "4.0.1" + } + } + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merkle-patricia-tree": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.0.tgz", + "integrity": "sha512-LKd2OoIT9Re/OG38zXbd5pyHIk2IfcOUczCwkYXl5iJIbufg9nqpweh66VfPwMkUlrEvc7YVvtQdmSrB9V9TkQ==", + "requires": { + "async": "1.5.2", + "ethereumjs-util": "5.1.2", + "level-ws": "0.0.0", + "levelup": "1.3.9", + "memdown": "1.4.1", + "readable-stream": "2.3.3", + "rlp": "2.0.0", + "semaphore": "1.1.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "ethereumjs-util": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.4.0", + "rlp": "2.0.0", + "secp256k1": "3.3.1" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "requires": { + "mime-db": "1.30.0" + } + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "0.1.1" + } + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "requires": { + "mkdirp": "0.5.1" + } + }, + "mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + } + } + }, + "mock-fs": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.4.2.tgz", + "integrity": "sha512-dF+yxZSojSiI8AXGoxj5qdFWpucndc54Ug+TwlpHFaV7j22MGG+OML2+FVa6xAZtjb/OFFQhOC37Jegx2GbEwA==" + }, + "mout": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", + "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "1.3.0", + "object-assign": "4.1.1", + "thenify-all": "1.6.0" + } + }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" + }, + "nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "node-abi": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.1.2.tgz", + "integrity": "sha512-hmUtb8m75RSi7N+zZLYqe75XDvZB+6LyTBPkj2DConvNgQet2e3BIqEwe1LLvqMrfyjabuT5ZOrTioLCH1HTdA==", + "requires": { + "semver": "5.4.1" + } + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "oboe": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", + "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", + "requires": { + "http-https": "1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "original-require": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz", + "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "1.0.0" + } + }, + "parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "requires": { + "for-each": "0.3.2", + "trim": "0.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "1.3.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "prebuild-install": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.3.0.tgz", + "integrity": "sha512-gzjq2oHB8oMbzJSsSh9MQ64zrXZGt092/uT4TLZlz2qnrPxpWqp4vYB7LZrDxnlxf5RfbCjkgDI/z0EIVuYzAw==", + "requires": { + "expand-template": "1.1.0", + "github-from-package": "0.0.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-abi": "2.1.2", + "noop-logger": "0.1.1", + "npmlog": "4.1.2", + "os-homedir": "1.0.2", + "pump": "1.0.3", + "rc": "1.2.2", + "simple-get": "1.4.3", + "tar-fs": "1.16.0", + "tunnel-agent": "0.6.0", + "xtend": "4.0.1" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "proxy-addr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", + "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.5.2" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "query-string": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-2.4.2.tgz", + "integrity": "sha1-fbBmZCCAS6qSrp8miWKFWnYUPfs=", + "requires": { + "strict-uri-encode": "1.1.0" + } + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomhex": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", + "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "0.5.0" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "requires": { + "path-parse": "1.0.5" + } + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "requires": { + "through": "2.3.8" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + } + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "rlp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.0.0.tgz", + "integrity": "sha1-nbOE/0uJqPYVY9kjldhiWxjzr7A=" + }, + "rustbn.js": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.1.tgz", + "integrity": "sha512-+Xq0RaL+HEErm4vaTUSWq8uq94OuzOu2UR16LowDvj/C8gclDsoYGp8hKpmakKW2dKqL433v2tkf8HCa2za+Eg==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "scrypt": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", + "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", + "requires": { + "nan": "2.8.0" + } + }, + "scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + }, + "scrypt.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", + "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", + "requires": { + "scrypt": "6.0.3", + "scryptsy": "1.2.1" + } + }, + "scryptsy": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", + "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", + "requires": { + "pbkdf2": "3.0.14" + } + }, + "secp256k1": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.3.1.tgz", + "integrity": "sha512-lygjgfjzjBHblEDDkppUF5KK1EeVk6P/Dv2MsJZpYIR3vW5TKFRexOFkf0hHy9J5YxEpjQZ6x98Y3XQpMQO/vA==", + "requires": { + "bindings": "1.3.0", + "bip66": "1.1.5", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "drbg.js": "1.0.1", + "elliptic": "6.4.0", + "nan": "2.8.0", + "prebuild-install": "2.3.0", + "safe-buffer": "5.1.1" + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "2.8.1" + } + }, + "semaphore": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", + "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + }, + "send": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "requires": { + "debug": "2.6.9", + "depd": "1.1.1", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" + }, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + } + } + }, + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "requires": { + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.1" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "requires": { + "body-parser": "1.18.2", + "cors": "2.8.4", + "express": "4.16.2", + "request": "2.83.0", + "xhr": "2.4.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + }, + "sha.js": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "sha3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.0.tgz", + "integrity": "sha1-aYnxtwpJhwWHajc+LGKs6WqpOZo=", + "requires": { + "nan": "2.8.0" + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-get": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", + "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=", + "requires": { + "once": "1.4.0", + "unzip-response": "1.0.2", + "xtend": "4.0.1" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "requires": { + "hoek": "4.2.0" + } + }, + "solc": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.18.tgz", + "integrity": "sha512-Kq+O3PNF9Pfq7fB+lDYAuoqRdghLmZyfngsg0h1Hj38NKAeVHeGPOGeZasn5KqdPeCzbMFvaGyTySxzGv6aXCg==", + "requires": { + "fs-extra": "0.30.0", + "memorystream": "0.3.1", + "require-from-string": "1.2.1", + "semver": "5.4.1", + "yargs": "4.8.1" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "0.5.7" + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "stream-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-1.0.0.tgz", + "integrity": "sha1-1O84aRPW7BAgUrx1/AUWlHqWHxA=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.10.0", + "function-bind": "1.1.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "4.0.1" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "requires": { + "has-flag": "1.0.0" + } + }, + "swarm-js": { + "version": "0.1.37", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", + "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", + "requires": { + "bluebird": "3.5.1", + "buffer": "5.0.8", + "decompress": "4.2.0", + "eth-lib": "0.1.27", + "fs-extra": "2.1.2", + "fs-promise": "2.0.3", + "got": "7.1.0", + "mime-types": "2.1.17", + "mkdirp-promise": "5.0.1", + "mock-fs": "4.4.2", + "setimmediate": "1.0.5", + "tar.gz": "1.0.7", + "xhr-request-promise": "0.1.2" + } + }, + "tape": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/tape/-/tape-3.6.1.tgz", + "integrity": "sha1-SJPdU+KApfWMDOswwsDrs7zVHh8=", + "requires": { + "deep-equal": "0.2.2", + "defined": "0.0.0", + "glob": "3.2.11", + "inherits": "2.0.3", + "object-inspect": "0.4.0", + "resumer": "0.0.0", + "through": "2.3.8" + } + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-fs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", + "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", + "requires": { + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.3", + "tar-stream": "1.5.5" + } + }, + "tar-stream": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", + "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.0", + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "tar.gz": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz", + "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", + "requires": { + "bluebird": "2.11.0", + "commander": "2.8.1", + "fstream": "1.0.11", + "mout": "0.11.1", + "tar": "2.2.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + } + } + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "1.3.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": "3.3.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "requires": { + "punycode": "1.4.1" + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "truffle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.0.1.tgz", + "integrity": "sha512-PybO+GMq3AvsfCWfEx4sbuaJlDL19iR8Ff20cO0TtP599N5JbMLlhwlffvVInPgFjP+F11vjSOYj3hT8fONs5A==", + "requires": { + "mocha": "3.5.3", + "original-require": "1.0.1", + "solc": "0.4.18" + } + }, + "truffle-hdwallet-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/truffle-hdwallet-provider/-/truffle-hdwallet-provider-0.0.3.tgz", + "integrity": "sha1-Dh3gIQS3PTh14c9wkzBbTqii2EM=", + "requires": { + "bip39": "2.4.0", + "ethereumjs-wallet": "0.6.0", + "web3": "0.18.4", + "web3-provider-engine": "8.6.1" + }, + "dependencies": { + "bignumber.js": { + "version": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" + }, + "web3": { + "version": "0.18.4", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.18.4.tgz", + "integrity": "sha1-gewXhBRUkfLqqJVbMcBgSeB8Xn0=", + "requires": { + "bignumber.js": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2", + "crypto-js": "3.1.8", + "utf8": "2.1.1", + "xhr2": "0.1.4", + "xmlhttprequest": "1.8.0" + } + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.17" + } + }, + "typedarray-to-buffer": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz", + "integrity": "sha1-EBezLZhP9VbroQD1AViauhrOLgQ=", + "requires": { + "is-typedarray": "1.0.0" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "unbzip2-stream": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "requires": { + "buffer": "3.6.0", + "through": "2.3.8" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" + }, + "buffer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", + "requires": { + "base64-js": "0.0.8", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + } + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + }, + "unorm": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", + "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "1.0.4" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "web3": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.26.tgz", + "integrity": "sha1-u0ba9q78MT92iz3jnX9KjXvQZmM=", + "requires": { + "web3-bzz": "1.0.0-beta.26", + "web3-core": "1.0.0-beta.26", + "web3-eth": "1.0.0-beta.26", + "web3-eth-personal": "1.0.0-beta.26", + "web3-net": "1.0.0-beta.26", + "web3-shh": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-bzz": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.26.tgz", + "integrity": "sha1-WFihjN5XaHSAGoPR30IJX8lYWQw=", + "requires": { + "got": "7.1.0", + "swarm-js": "0.1.37", + "underscore": "1.8.3" + } + }, + "web3-core": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.26.tgz", + "integrity": "sha1-hczKK2KfmK3+sOK21+K31nepeVk=", + "requires": { + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-core-requestmanager": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-core-helpers": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.26.tgz", + "integrity": "sha1-2G31xrMQ/FjFtv9Woz0mePu8PcM=", + "requires": { + "underscore": "1.8.3", + "web3-eth-iban": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-core-method": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.26.tgz", + "integrity": "sha1-SdhpoacvMiNXbIkmCe7kDTsiVXw=", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-promievent": "1.0.0-beta.26", + "web3-core-subscriptions": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-core-promievent": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.26.tgz", + "integrity": "sha1-BkJSUZ35t+banCD1lKAuz+nDU8E=", + "requires": { + "bluebird": "3.3.1", + "eventemitter3": "1.1.1" + }, + "dependencies": { + "bluebird": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz", + "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0=" + } + } + }, + "web3-core-requestmanager": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.26.tgz", + "integrity": "sha1-dffvfy/GpLDTRr8AVCFXuB4UsDM=", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26", + "web3-providers-http": "1.0.0-beta.26", + "web3-providers-ipc": "1.0.0-beta.26", + "web3-providers-ws": "1.0.0-beta.26" + } + }, + "web3-core-subscriptions": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.26.tgz", + "integrity": "sha1-0W0dbr3GDXCL9aR7hxZt1+jBl6A=", + "requires": { + "eventemitter3": "1.1.1", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26" + } + }, + "web3-eth": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.26.tgz", + "integrity": "sha1-aMAkw1a4ZWrDaVyPk9e2GzgQRKU=", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.26", + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-core-subscriptions": "1.0.0-beta.26", + "web3-eth-abi": "1.0.0-beta.26", + "web3-eth-accounts": "1.0.0-beta.26", + "web3-eth-contract": "1.0.0-beta.26", + "web3-eth-iban": "1.0.0-beta.26", + "web3-eth-personal": "1.0.0-beta.26", + "web3-net": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-eth-abi": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.26.tgz", + "integrity": "sha1-Ku3ASDxna1kcccBBJXIZj3omb+I=", + "requires": { + "bn.js": "4.11.6", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "web3-eth-accounts": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.26.tgz", + "integrity": "sha1-N/18d3BCBGX95ZGCKYkad3OAehM=", + "requires": { + "bluebird": "3.3.1", + "eth-lib": "0.2.5", + "scrypt.js": "0.2.0", + "underscore": "1.8.3", + "uuid": "2.0.1", + "web3-core": "1.0.0-beta.26", + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + }, + "dependencies": { + "bluebird": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz", + "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0=" + }, + "eth-lib": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.5.tgz", + "integrity": "sha512-pXs4ryU+7S8MPpkQpNqG4JlXEec87kbXowQbYzRVV+c5XUccrO6WOxVPDicxql1AXSBzfmBSFVkvvG+H4htuxg==", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0", + "xhr-request-promise": "0.1.2" + } + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + } + } + }, + "web3-eth-contract": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.26.tgz", + "integrity": "sha1-fny3FXqrYMUi20353p3L2G2BOwk=", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.26", + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-core-promievent": "1.0.0-beta.26", + "web3-core-subscriptions": "1.0.0-beta.26", + "web3-eth-abi": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-eth-iban": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.26.tgz", + "integrity": "sha1-6MI2GOpapmJ73pHHPqi18ZGe43Q=", + "requires": { + "bn.js": "4.11.8", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-eth-personal": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.26.tgz", + "integrity": "sha1-K4gDs01HJEfPW76BziVQSxMb7QY=", + "requires": { + "web3-core": "1.0.0-beta.26", + "web3-core-helpers": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-net": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-net": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.26.tgz", + "integrity": "sha1-UY0oO1AANf7kgL9ocIljRyWrZLM=", + "requires": { + "web3-core": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-utils": "1.0.0-beta.26" + } + }, + "web3-provider-engine": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-8.6.1.tgz", + "integrity": "sha1-TYbhnjDKr5ffNRUR7A9gE25bMOs=", + "requires": { + "async": "2.6.0", + "clone": "2.1.1", + "ethereumjs-block": "1.7.0", + "ethereumjs-tx": "1.3.3", + "ethereumjs-util": "5.1.2", + "ethereumjs-vm": "2.3.2", + "isomorphic-fetch": "2.2.1", + "request": "2.83.0", + "semaphore": "1.1.0", + "solc": "0.4.18", + "tape": "4.8.0", + "web3": "0.16.0", + "xhr": "2.4.0", + "xtend": "4.0.1" + }, + "dependencies": { + "bignumber.js": { + "version": "git+https://github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "ethereumjs-util": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.4.0", + "rlp": "2.0.0", + "secp256k1": "3.3.1" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + }, + "object-inspect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.3.0.tgz", + "integrity": "sha512-OHHnLgLNXpM++GnJRyyhbr2bwl3pPVm4YvaraHrRvDt/N3r+s/gDVHciA7EJBTkijKXj61ssgSAikq1fb0IBRg==" + }, + "tape": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.8.0.tgz", + "integrity": "sha512-TWILfEnvO7I8mFe35d98F6T5fbLaEtbFTG/lxWvid8qDfFTxt19EBijWmB4j3+Hoh5TfHE2faWs73ua+EphuBA==", + "requires": { + "deep-equal": "1.0.1", + "defined": "1.0.0", + "for-each": "0.3.2", + "function-bind": "1.1.1", + "glob": "7.1.2", + "has": "1.0.1", + "inherits": "2.0.3", + "minimist": "1.2.0", + "object-inspect": "1.3.0", + "resolve": "1.4.0", + "resumer": "0.0.0", + "string.prototype.trim": "1.1.2", + "through": "2.3.8" + } + }, + "web3": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.16.0.tgz", + "integrity": "sha1-pFVBdc1GKUMDWx8dOUMvdBxrYBk=", + "requires": { + "bignumber.js": "git+https://github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9", + "crypto-js": "3.1.8", + "utf8": "2.1.1", + "xmlhttprequest": "1.8.0" + } + } + } + }, + "web3-providers-http": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.26.tgz", + "integrity": "sha1-GwFUu3UY027TT5EKZl5FFSoKyKE=", + "requires": { + "web3-core-helpers": "1.0.0-beta.26", + "xhr2": "0.1.4" + } + }, + "web3-providers-ipc": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.26.tgz", + "integrity": "sha1-HffepV5nE1yQRaJsUzso0bbJ2mQ=", + "requires": { + "oboe": "2.1.3", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26" + } + }, + "web3-providers-ws": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.26.tgz", + "integrity": "sha1-z0ylFUpPsVok1GgtEJUO4Emku2E=", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.26", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c" + } + }, + "web3-shh": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.26.tgz", + "integrity": "sha1-YMrff1V71rRRVHXd4z4uV7gKgg4=", + "requires": { + "web3-core": "1.0.0-beta.26", + "web3-core-method": "1.0.0-beta.26", + "web3-core-subscriptions": "1.0.0-beta.26", + "web3-net": "1.0.0-beta.26" + } + }, + "web3-utils": { + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.26.tgz", + "integrity": "sha1-8ErYwUSxeBxrIMKBjgUyy55tyhU=", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "websocket": { + "version": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c", + "requires": { + "debug": "2.6.9", + "nan": "2.8.0", + "typedarray-to-buffer": "3.1.2", + "yaeti": "0.0.6" + } + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "requires": { + "string-width": "1.0.2" + } + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", + "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==", + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", + "ultron": "1.1.1" + } + }, + "xhr": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "requires": { + "global": "4.3.2", + "is-function": "1.0.1", + "parse-headers": "2.0.1", + "xtend": "4.0.1" + } + }, + "xhr-request": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.0.1.tgz", + "integrity": "sha1-g/CKSyC+7Geowcco6BAvTJ7svdo=", + "requires": { + "buffer-to-arraybuffer": "0.0.2", + "object-assign": "3.0.0", + "query-string": "2.4.2", + "simple-get": "1.4.3", + "timed-out": "2.0.0", + "url-set-query": "1.0.0", + "xhr": "2.4.0" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + }, + "timed-out": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", + "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=" + } + } + }, + "xhr-request-promise": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", + "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", + "requires": { + "xhr-request": "1.0.1" + } + }, + "xhr2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", + "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8=" + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "lodash.assign": "4.2.0", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "window-size": "0.2.0", + "y18n": "3.2.1", + "yargs-parser": "2.4.1" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "requires": { + "camelcase": "3.0.0", + "lodash.assign": "4.2.0" + } + }, + "yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.0.1" + } + }, + "zeppelin-solidity": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/zeppelin-solidity/-/zeppelin-solidity-1.4.0.tgz", + "integrity": "sha512-eJfD1Zf0ZP2m0oYnB/HM7JPJ81MNjs3qt+c/TRd5kvCSOU3EfYNHz5YfFgzkJzvPUGs0Zg8spzGROlqXShvisg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..65d1e49 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "smart-contracts", + "version": "1.0.0", + "description": "This is the repository for the Bread Token (BRD) Crowdsale and ERC20 smart contracts.", + "directories": { + "test": "test" + }, + "dependencies": { + "bignumber.js": "^5.0.0", + "csv": "^2.0.0", + "ethereumjs-abi": "^0.6.4", + "ethers": "^2.1.3", + "request": "^2.83.0", + "truffle": "^4.0.1", + "truffle-hdwallet-provider": "0.0.3", + "web3": "^1.0.0-beta.26", + "zeppelin-solidity": "^1.4.0" + }, + "devDependencies": {}, + "scripts": { + "test": "truffle test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/breadwallet/smart-contracts.git" + }, + "author": "Samuel Sutch", + "license": "ISC", + "bugs": { + "url": "https://github.com/breadwallet/smart-contracts/issues" + }, + "homepage": "https://github.com/breadwallet/smart-contracts#readme" +} diff --git a/scripts/constructor-args.js b/scripts/constructor-args.js new file mode 100644 index 0000000..ad438a5 --- /dev/null +++ b/scripts/constructor-args.js @@ -0,0 +1,163 @@ +var Web3 = require('web3'); +var constants = require('../constants'); +var BigNumber = require('bignumber.js'); +var abi = require('web3-eth-abi'); +var request = require('request'); +var waitForConfirmation = require('./lib').waitForConfirmation; + +var BRDCrowdsaleTruffle = artifacts.require("BRDCrowdsale"); +var BRDCrowdsaleAuthorizerTruffle = artifacts.require("BRDCrowdsaleAuthorizer"); +var BRDTokenTruffle = artifacts.require("BRDToken"); +var BRDLockupTruffle = artifacts.require("BRDLockup"); + +var web3 = new Web3(Web3.givenProvider || 'http://localhost:8545'); +web3.BigNumber = BigNumber; + +var crowdsaleJson = require('../build/BRDCrowdsale.json')["contracts"]["build/flattened/BRDCrowdsale.sol:BRDCrowdsale"]; +var authorizerJson = require('../build/BRDCrowdsaleAuthorizer.json')["contracts"]["build/flattened/BRDCrowdsaleAuthorizer.sol:BRDCrowdsaleAuthorizer"]; +var lockupJson = require('../build/BRDLockup.json')["contracts"]["build/flattened/BRDLockup.sol:BRDLockup"]; +var tokenJson = require('../build/BRDToken.json')["contracts"]["build/flattened/BRDToken.sol:BRDToken"]; +var accounts; +var network; + +var networks = { + 1: "homestead", + 3: "ropsten" +}; + +function makeArgs(args) { + return args.map(function(arg) { + if (typeof arg == 'object' || typeof arg == 'number') { + return (new web3.BigNumber(arg)).toString(); + } + return arg; + }); +} + +function encodeConstructorArgs(types, args) { + return abi.encodeParameters(types, args).substring(2); +} + +function deploy(contract, name, opts) { + console.log('deploying', name); + var txn = contract.deploy(opts); + return txn.send({ + from: accounts[0], + gas: 4700000 + }).on('transactionHash', function(txHash) { + console.log(name, 'transaction hash', txHash); + }); +} + +function transferOwnership(contract, toContract, toContractName) { + var txn = contract.transferOwnership(toContract.address, {from: accounts[0], gas: 4700000}); + return txn.then(function(txnObj) { + console.log('transfer', toContractName, 'to crowdsale', txnObj.tx); + return waitForConfirmation(web3, txnObj).then(function() { + console.log('transfer', toContractName, 'to crowdsale confirmed'); + }); + }); +} + +function setThing(contract, thing, address) { + var methodName = 'set' + thing.charAt(0).toUpperCase() + thing.slice(1); + var txn = contract[methodName](address, {from: accounts[0], gas: 4700000}); + return txn.then(function(txnObj) { + console.log('setting', thing, 'on crowdsale', txnObj.tx); + return waitForConfirmation(web3, txnObj).then(function() { + console.log('setting', thing, 'on crowsale confirmed'); + }); + }); +} + +function addAuthorizer(contract, account) { + var txn = contract.addAuthorizer(account, {from: accounts[0], gas: 4700000}); + return txn.then(function(txnObj) { + console.log('add authorizer', account, txnObj.tx); + return waitForConfirmation(web3, txnObj).then(function() { + console.log('add authorizer', account, 'confirmed'); + }); + }); +} + +function doDeploy() { + return Promise.all([web3.eth.getAccounts(), web3.eth.net.getId()]).then(function(res) { + accounts = res[0]; + network = networks[res[1]] || 'development'; + console.log('from account:', accounts[0]); + console.log('network:', network); + + var c = constants(web3, accounts, network); + if (network == 'development') { + c.startTime = Math.floor(Date.now() / 1000) + 60; // now + N + c.endTime = Math.floor(Date.now() / 1000) + 120; // now + N + } + + var BRDToken = new web3.eth.Contract(new Array(tokenJson.abi)); + var BRDCrowdsaleAuthorizer = new web3.eth.Contract(new Array(authorizerJson.abi)); + var BRDLockup = new web3.eth.Contract(new Array(lockupJson.abi)); + var BRDCrowdsale = new web3.eth.Contract(new Array(crowdsaleJson.abi)); + + var lockupArgs = encodeConstructorArgs( + ['uint256', 'uint256', 'uint256'], + c.lockupArguments + ); + console.log('lockup args:', lockupArgs); + + var crowdsaleArgs = encodeConstructorArgs( + ['uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'address', 'address'], + c.creationArguments + ); + console.log('crowdsale args:', crowdsaleArgs); + return new Promise(function(s) { s(); }); + + // var deployPromises = [ + // deploy(BRDToken, 'token', {data: '0x' + tokenJson.bin}) + // .then(function(tokenInstance) { + // BRDToken = BRDTokenTruffle.at(tokenInstance.options.address); + // console.log('token address:', tokenInstance.options.address); + // }), + // deploy(BRDCrowdsaleAuthorizer, 'authorizer', {data: '0x' + authorizerJson.bin}) + // .then(function(authorizerInstance) { + // BRDCrowdsaleAuthorizer = BRDCrowdsaleAuthorizerTruffle.at(authorizerInstance.options.address); + // console.log('authorizer address:', authorizerInstance.options.address); + // }), + // deploy(BRDLockup, 'lockup', {data: '0x' + lockupJson.bin + lockupArgs}) + // .then(function(lockupInstance) { + // BRDLockup = BRDLockupTruffle.at(lockupInstance.options.address); + // console.log('lockup address:', lockupInstance.options.address); + // }), + // deploy(BRDCrowdsale, 'crowdsale', {data: '0x' + crowdsaleJson.bin + crowdsaleArgs}) + // .then(function(crowdsaleInstance) { + // BRDCrowdsale = BRDCrowdsaleTruffle.at(crowdsaleInstance.options.address); + // console.log('crowdsale address:', crowdsaleInstance.options.address); + // }), + // ]; + // return Promise.all(deployPromises).then(function() { + // addAuthorizer(BRDCrowdsaleAuthorizer, accounts[0]).then(function() { + // console.log('added initial authorizer', accounts[0]); + // var updatePromises = [ + // transferOwnership(BRDCrowdsaleAuthorizer, BRDCrowdsale, 'authorizer'), + // transferOwnership(BRDLockup, BRDCrowdsale, 'lockup'), + // transferOwnership(BRDToken, BRDToken, 'token'), + // setThing(BRDCrowdsale, 'token', BRDToken.address), + // setThing(BRDCrowdsale, 'lockup', BRDLockup.address), + // setThing(BRDCrowdsale, 'authorizer', BRDCrowdsaleAuthorizer.address), + // ]; + // return Promise.all(updatePromises).then(function() { + // console.log('ownership and crowdsale members set'); + // }); + // }).then(function() { + // // XXX: add presale buyers here + // }); + // }).catch(function(err) { + // console.log('error deploying contracts:', err); + // }); + }); +} + +module.exports = function(cb) { + doDeploy().then(cb); +} + +module.exports.waitForConfirmation = waitForConfirmation; \ No newline at end of file diff --git a/scripts/lib.js b/scripts/lib.js new file mode 100644 index 0000000..8a92b1f --- /dev/null +++ b/scripts/lib.js @@ -0,0 +1,50 @@ +function getTransactionStatus(web3, txhash) { + return Promise.all([ + web3.eth.getTransaction(txhash), + web3.eth.getTransactionReceipt(txhash) + ]).then(function(results) { + var tx = results[0]; + var receipt = results[1]; + if (tx.blockNumber && receipt.gasUsed < tx.gas) { + return 'confirmed'; + } + if (tx.blockNumber && receipt.gasUsed == tx.gas) { + return 'failed'; + } + if (!tx.blockNumber) { + return 'pending'; + } + return 'unknown'; + }); +} + +function waitFor(time) { + return new Promise(function(resolve, reject) { + setTimeout(resolve, time); + }); +} + +function waitForConfirmation(web3, sendResult, iterations) { + if (!iterations) { + iterations = 1; + } + var maxIterations = 30; + var pollTime = 5000; + return getTransactionStatus(web3, sendResult.tx, iterations).then(function(status) { + if (status == 'confirmed') { + return true; + } else if (status == 'pending' && iterations < maxIterations) { + iterations += 1; + console.log('waiting for', sendResult.tx, 'status', status, 'iterations', iterations); + return waitFor(pollTime).then(function() { + return waitForConfirmation(web3, sendResult, iterations); + }); + } else { + throw status; + } + }); +} + +module.exports.waitFor = waitFor; +module.exports.waitForConfirmation = waitForConfirmation; +module.exports.getTransactionStatus = getTransactionStatus; \ No newline at end of file diff --git a/test/TestMetacoin.sol b/test/TestMetacoin.sol deleted file mode 100644 index 96ccc1e..0000000 --- a/test/TestMetacoin.sol +++ /dev/null @@ -1,25 +0,0 @@ -pragma solidity ^0.4.2; - -import "truffle/Assert.sol"; -import "truffle/DeployedAddresses.sol"; -import "../contracts/MetaCoin.sol"; - -contract TestMetacoin { - - function testInitialBalanceUsingDeployedContract() { - MetaCoin meta = MetaCoin(DeployedAddresses.MetaCoin()); - - uint expected = 10000; - - Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially"); - } - - function testInitialBalanceWithNewMetaCoin() { - MetaCoin meta = new MetaCoin(); - - uint expected = 10000; - - Assert.equal(meta.getBalance(tx.origin), expected, "Owner should have 10000 MetaCoin initially"); - } - -} diff --git a/test/brdcrowdsale.js b/test/brdcrowdsale.js new file mode 100644 index 0000000..2d156e3 --- /dev/null +++ b/test/brdcrowdsale.js @@ -0,0 +1,722 @@ +var BRDCrowdsale = artifacts.require('BRDCrowdsale'); +var BRDToken = artifacts.require('BRDToken'); +var BRDCrowdsaleAuthorizer = artifacts.require('BRDCrowdsaleAuthorizer'); +var BRDLockup = artifacts.require('BRDLockup'); +var constants = require('../constants.js'); +var ethers = require('ethers'); +var WalletSimple = artifacts.require('WalletSimple'); + + +contract('BRDCrowdsale', function(accounts) { + let c = constants(web3, accounts, 'development'); // note: do not use for startTime or endTime + let tokensPerLockup = 1125; + let expectedLockupShare = (new web3.BigNumber(accounts.length*tokensPerLockup)).mul(c.exponent); + expectedLockupShare = c.bonusRate.mul(expectedLockupShare).div(100); + + function newContract(overrides) { + let c = constants(web3, accounts, 'development'); + if (overrides) { + Object.keys(overrides).forEach(function(k) { + c[k] = overrides[k]; + }); + } + // advance start/end times because it takes longer to do all this stuff below + var token; + var authorizer; + var lockup; + var crowdsale; + var errOut = function(promise, errMsg) { + return promise.catch(function() { + console.log(errMsg, arguments); + assert(false, 'errored out'); + }); + }; + return Promise.all([ + errOut(BRDToken.new(), 'error creating token'), + errOut(BRDCrowdsaleAuthorizer.new(), 'error creating authorizer'), + errOut(BRDLockup.new(c.endTime, c.numIntervals, c.intervalDuration), 'error creating lockup') + ]).then(function(contracts) { + token = contracts[0]; + authorizer = contracts[1]; + lockup = contracts[2]; + }).then(function() { + return errOut(BRDCrowdsale.new( + c.cap, c.minContribution, c.maxContribution, + c.startTime, c.endTime, + c.rate, c.ownerRate, c.bonusRate, + c.wallet, c.wallet, + {from: accounts[0]} + ), 'error creating crowsale'); + }).then(function(contract) { + crowdsale = contract; + return Promise.all([ + errOut(authorizer.addAuthorizer(accounts[0]), 'error adding accounts[0] as authorizer'), + errOut(token.transferOwnership(crowdsale.address), 'error transferring token ownership'), + errOut(authorizer.transferOwnership(crowdsale.address), 'error transferring authorizer ownership'), + errOut(lockup.transferOwnership(crowdsale.address), 'error transferring lockup ownership'), + ]); + }).then(function() { + return Promise.all([ + errOut(crowdsale.setToken(token.address), 'error setting token'), + errOut(crowdsale.setAuthorizer(authorizer.address), 'error setting authorizer'), + errOut(crowdsale.setLockup(lockup.address), 'error setting lockup') + ]); + }).then(function() { + return crowdsale; + }); + } + + // resolves to the crowdsale contract that has the second account + // pre-authorized + function secondAccountAuthorized(contractPromise) { + let crowdsale; + let authorizer; + if (!contractPromise) contractPromise = newContract(); + return contractPromise.then(function (instance) { + crowdsale = instance; + return instance.authorizer.call(); + }).then(function(authorizerAddr) { + authorizer = BRDCrowdsaleAuthorizer.at(authorizerAddr); + return authorizer.authorizeAccount(accounts[1], {from: accounts[0]}); + }).then(function() { + return authorizer.isAuthorized.call(accounts[1], {from: accounts[1]}).then(function(isAuthorized) { + assert(isAuthorized, '2nd account must be authorized'); + return crowdsale; + }); + }).catch(function(err) { + console.log(err); + assert(false, 'error authorizing account'); + }); + } + + // takes a promise that resolves to a crowdsale, + // waits until the crowdsale start time to resolve + function awaitStartTime(contractPromise) { + return contractPromise.then(function(crowdsale) { + return crowdsale.startTime.call(); + }).then(function(startTime) { + return new Promise(function(resolve, _) { + let nowTime = Math.floor(Date.now() / 1000); + let startInSecs = startTime.toNumber() - nowTime; + // console.log('starting in', startTime.toNumber(), nowTime, startInSecs); + setTimeout(function() { + resolve(contractPromise); + }, startInSecs*1000); + }); + }); + } + + function awaitEndTime(contractPromise) { + return contractPromise.then(function(crowdsale) { + return crowdsale.endTime.call(); + }).then(function(endTime) { + return new Promise(function(resolve, _) { + let nowTime = Math.floor(Date.now() / 1000); + let startInSecs = endTime.toNumber() - nowTime + 1; + // console.log('starting in', endTime.toNumber(), nowTime, startInSecs); + setTimeout(function() { + resolve(contractPromise); + }, startInSecs*1000); + }); + }); + } + + function presaleParticipants(contractPromise) { + return contractPromise.then(function(instance) { + let promises = []; + for (let i = 1; i < accounts.length; i++) { // start at 1 because account 0 has owner share + let amountToLockup = (new web3.BigNumber(tokensPerLockup).mul(c.exponent)); + promises.push(instance.lockupTokens(accounts[i], amountToLockup)); + } + return Promise.all(promises).then(function() { return instance; }); + }).then(function() { + return contractPromise; + }).catch(function(err) { + console.log('error creating presale participants', err); + assert(false, 'presale error'); + }); + } + + function waitFor(msec) { + return new Promise(function(r, _) { + setTimeout(function() { r(); }, msec); + }); + } + + function unlockAllTokens(crowdsale, lockup) { + return lockup.intervalDuration.call().then(function(intervalDuration) { + return waitFor(intervalDuration.toNumber()*1000); + }).then(function() { + return crowdsale.unlockTokens({from: accounts[0]}).then(function() { + return Promise.all([ + lockup.currentInterval.call(), + lockup.numIntervals.call(), + lockup.intervalDuration.call(), + ]); + }).then(function(intervalInfo) { + if (intervalInfo[0] < intervalInfo[1]) { + return unlockAllTokens(crowdsale, lockup); + } else { + return intervalInfo; + } + }); + }); + } + + function getEthBalance(address, at) { + return new Promise(function(resolve, reject) { + web3.eth.getBalance(address, at, function(err, res) { + if (err) { reject(err); } + else { resolve(res); } + }); + }); + } + + it('should allocate the lockup tokens upon contract creation', function() { + return awaitStartTime(newContract()).then(function(instance) { + let promises = []; + for (let i = 0; i < accounts.length; i++) { + let amountToLockup = (new web3.BigNumber(tokensPerLockup).mul(c.exponent)); + promises.push(instance.lockupTokens(accounts[i], amountToLockup)); + } + return Promise.all(promises).then(function() { return instance; }); + }).then(function(instance) { + return instance.token.call().then(function(tokenAddr) { + let token = BRDToken.at(tokenAddr); + return token.balanceOf.call(instance.address); + }); + }).then(function(balance) { + assert(balance.eq(expectedLockupShare), 'expected lockup share does not match'); + }); + }); + + it('should set the contract owner as the initial authorizer', function() { + return newContract().then(function(instance) { + return instance.authorizer.call().then(function(authorizerAddr) { + let authorizer = BRDCrowdsaleAuthorizer.at(authorizerAddr); + return authorizer.isAuthorizer.call(accounts[0]); + }); + }).then(function(contractCreatorIsAuthorizer) { + assert(contractCreatorIsAuthorizer); + }); + }); + + it('should not allow contributions less than the minimum', function() { + let amountToSend = c.minContribution.div(2); // .5 ETH + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(false, 'error expected'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow contributions more than the maximum', function() { + let amountToSend = c.maxContribution.add(1000000000); // 5.000000001 ETH + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(false, 'error expected'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow contributions from unauthorized accounts', function() { + return awaitStartTime(newContract()).then(function(instance) { + let amountToSend = (new web3.BigNumber(1).mul(c.exponent)); // 1ETH + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(false, 'error expected'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should allow a valid contribution', function() { + let amountToSend = (new web3.BigNumber(1).mul(c.exponent)); + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(true); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('should mint user tokens on a valid contribution', function() { + var crowdsale; + let amountToSend = (new web3.BigNumber(1)).mul(c.exponent); + var amountExpected = (new web3.BigNumber(900)).mul(c.exponent); + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + crowdsale = instance; + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + var tokenContract = BRDToken.at(tokenAddr); + return tokenContract.balanceOf(accounts[1]); + }).then(function(ownerBalance) { + assert(ownerBalance.eq(amountExpected), 'user balance should equal 900 tokens'); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('should mint owner tokens on a valid contribution', function() { + var crowdsale; + let amountToSend = (new web3.BigNumber(1)).mul(c.exponent); + var amountExpected = (new web3.BigNumber(300)).mul(c.exponent); + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + crowdsale = instance; + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + var tokenContract = BRDToken.at(tokenAddr); + return tokenContract.balanceOf(accounts[0]); + }).then(function(ownerBalance) { + assert(ownerBalance.eq(amountExpected), 'owner balance should equal 300 tokens'); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('should allow duplicate purchases less then the max contribution', function() { + let amountToSend = (new web3.BigNumber(1).mul(c.exponent)); + let crowdsale; + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + crowdsale = instance; + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + return crowdsale.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(true); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('should not allow contribution before start time', function() { + let amountToSend = (new web3.BigNumber(1).mul(c.exponent)); // 1ETH + return secondAccountAuthorized().then(function(instance) { + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(false, 'error expected'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow duplicate transitions more than the max', function() { + let amountToSend = (new web3.BigNumber(1).mul(c.exponent)); + let secondAmountToSend = (new web3.BigNumber(4.01).mul(c.exponent)); + let crowdsale; + return awaitStartTime(secondAccountAuthorized()).then(function(instance) { + crowdsale = instance; + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + return crowdsale.sendTransaction({from: accounts[1], value: secondAmountToSend}); + }).then(function() { + assert(false, 'should have an error'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow contributions once the cap has been reached', function() { + // allow only 7 eth to be raised + let newContractPromise = newContract({cap: (new web3.BigNumber(7).mul(c.exponent))}); + let amountToSend = (new web3.BigNumber(4).mul(c.exponent)); // 4 eth + var crowdsale; + return awaitStartTime(secondAccountAuthorized(newContractPromise)).then(function(instance) { + crowdsale = instance; + return instance.authorizer.call(); + }).then(function(authorizerAddr) { + authorizer = BRDCrowdsaleAuthorizer.at(authorizerAddr); + return authorizer.authorizeAccount(accounts[2], {from: accounts[0]}); + }).catch(function(err) { + console.log('err', err); + assert(false, 'should not have an error here'); + }).then(function() { + return crowdsale.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + return crowdsale.sendTransaction({from: accounts[2], value: amountToSend}); + }).then(function(values) { + assert(false, 'should have an error'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow contributions once the end time has been reached', function() { + let newContractPromise = newContract({endTime: Math.floor(Date.now()/1000)+4}); + let amountToSend = (new web3.BigNumber(4).mul(c.exponent)); // 4 eth + return awaitEndTime(awaitStartTime(secondAccountAuthorized(newContractPromise))).then(function(instance) { + return instance.sendTransaction({from: accounts[1], value: amountToSend}); + }).then(function() { + assert(false, 'should have an error'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }); + }); + + it('should not allow token unlock until crowdsale has ended', function() { + let crowdsale; + return presaleParticipants(awaitStartTime(newContract())).then(function(instance) { + crowdsale = instance; + return instance.unlockTokens({from: accounts[0]}); + }).then(function() { + return crowdsale.lockup.call(); + }).then(function(lockupAddr) { + let lockup = BRDLockup.at(lockupAddr); + return lockup.currentInterval.call(); + }).then(function(lockupIntervalNumber) { + assert(lockupIntervalNumber.eq(new web3.BigNumber(0))); + }); + }); + + it('should unlock first batch of tokens upon finalization', function() { + let crowdsale; + let contractPromise = newContract({endTime: Math.floor(Date.now()/1000)+4}); + return awaitEndTime(presaleParticipants(contractPromise)).then(function(instance) { + crowdsale = instance; + return crowdsale.finalize({from: accounts[0]}); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + let token = BRDToken.at(tokenAddr); + let promises = []; + for (let i = 0; i < accounts.length; i++) { + promises.push(token.balanceOf(accounts[i])); + } + return Promise.all(promises); + }).then(function(values) { + for (let i = 1; i < accounts.length; i++) { // start at 1 to ignore the owner share + // 1125 tokens * .2 bonus / 6 intervals + var unlockedTokensPerInterval = c.bonusRate.mul((new web3.BigNumber(tokensPerLockup)).mul(c.exponent)).div(100).div(6); + // 1125 tokens - (1125 tokens * .2 bonus) + var initialDelivery = (new web3.BigNumber(tokensPerLockup)).mul(c.exponent).sub(unlockedTokensPerInterval.mul(6)); + var expectedBalance = initialDelivery.add(unlockedTokensPerInterval); + assert(values[i].eq(expectedBalance), 'tokens not delivered'); + } + }); + }); + + it('should immediately mint non-bonus tokens to the beneficiary', function() { + let crowdsale; + let contractPromise = newContract({endTime: Math.floor(Date.now()/1000)+4}); + return presaleParticipants(contractPromise).then(function(instance) { + crowdsale = instance; + return crowdsale.token.call(); + }).then(function(tokenAddr) { + let token = BRDToken.at(tokenAddr); + let promises = []; + for (let i = 0; i < accounts.length; i++) { + promises.push(token.balanceOf(accounts[i])); + } + return Promise.all(promises); + }).then(function(values) { + for (let i = 1; i < accounts.length; i++) { // start at 1 to ignore the owner share + // 1125 tokens * .2 bonus / 6 intervals + var unlockedTokensPerInterval = c.bonusRate.mul((new web3.BigNumber(tokensPerLockup)).mul(c.exponent)).div(100).div(6); + // 1125 tokens - (1125 tokens * .2 bonus) + var initialDelivery = (new web3.BigNumber(tokensPerLockup)).mul(c.exponent).sub(unlockedTokensPerInterval.mul(6)); + assert(values[i].eq(initialDelivery), 'tokens not delivered'); + } + }); + }); + + it('should not allow another unlock immediately after the first unlock', function() { + let crowdsale; + let lockup; + let contractPromise = newContract({endTime: Math.floor(Date.now()/1000)+4}); + return awaitEndTime(presaleParticipants(contractPromise)).then(function(instance) { + crowdsale = instance; + return crowdsale.finalize({from: accounts[0]}); + }).then(function() { + return crowdsale.lockup.call(); + }).then(function(lockupAddr) { + lockup = BRDLockup.at(lockupAddr); + return lockup.currentInterval.call(); + }).then(function(currentInterval) { + assert(currentInterval.eq(new web3.BigNumber(1))); + }).then(function() { + return crowdsale.unlockTokens({from: accounts[0]}); + }).then(function() { + return lockup.currentInterval.call(); + }).then(function(currentInterval) { + assert(currentInterval.eq(new web3.BigNumber(1))); // shouldnt have moved + }); + }); + + it('should unlock all tokens until finished', function() { + let crowdsale; + let lockup; + let contractPromise = newContract({ + endTime: Math.floor(Date.now()/1000)+5, + intervalDuration: 2, // 2 seconds + }); + return awaitEndTime(presaleParticipants(awaitStartTime(contractPromise))).then(function(instance) { + crowdsale = instance; + return crowdsale.finalize({from: accounts[0]}); + }).then(function() { + return crowdsale.lockup.call(); + }).then(function(lockupAddr) { + lockup = BRDLockup.at(lockupAddr); + return unlockAllTokens(crowdsale, lockup); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + let token = BRDToken.at(tokenAddr); + let promises = []; + for (let i = 0; i < accounts.length; i++) { + promises.push(token.balanceOf(accounts[i])); + } + return Promise.all(promises); + }).then(function(values) { + for (let i = 1; i < accounts.length; i++) { // start at 1 to ignore the owner share + // console.log(values[i].div(c.exponent).toString(), ':', tokensPerLockup); + assert(values[i].eq((new web3.BigNumber(tokensPerLockup)).mul(c.exponent)), 'tokens not delivered'); // all tokens + } + }); + }); + + it('should not allow another unlock after the last one', function() { + let crowdsale; + let lockup; + let lockupInfo; + let contractPromise = newContract({ + endTime: Math.floor(Date.now()/1000)+5, + intervalDuration: 2, // 2 seconds + }); + return awaitEndTime(presaleParticipants(contractPromise)).then(function(instance) { + crowdsale = instance; + return crowdsale.finalize({from: accounts[0]}); + }).then(function() { + return crowdsale.lockup.call(); + }).then(function(lockupAddr) { + lockup = BRDLockup.at(lockupAddr); + return unlockAllTokens(crowdsale, lockup); + }).then(function(_lockupInfo) { + lockupInfo = _lockupInfo; + return crowdsale.unlockTokens(); + }).then(function() { + return waitFor(lockupInfo[2].toNumber()*1000); + }).then(function() { + return lockup.currentInterval.call(); + }).then(function(currentInterval) { + assert(currentInterval.eq(lockupInfo[0])); // the interval should not have advanced + }); + }); + + it('should allow more contribution if the maxContribution has been increased', function() { + var crowdsale; + var token; + return secondAccountAuthorized(awaitStartTime(newContract())).then(function(instance) { + crowdsale = instance; + return crowdsale.sendTransaction({value: c.maxContribution, from: accounts[1]}); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + token = BRDToken.at(tokenAddr); + return token.balanceOf(accounts[1]); + }).then(function(balance) { + assert(balance.eq(c.maxContribution.mul(c.rate))); + }).then(function() { + return crowdsale.setMaxContribution(c.maxContribution.mul(2)); + }).then(function() { + return crowdsale.sendTransaction({value: c.maxContribution, from: accounts[1]}); + }).then(function() { + return token.balanceOf(accounts[1]); + }).then(function(balance) { + assert(balance.eq(c.maxContribution.mul(2).mul(c.rate))); + }); + }); + + it('should not puke iterating through 50 lockups', function() { + var lockups = []; + var nlockups = 50; + for (var i = 0; i < nlockups; i++) { + lockups.push([ethers.Wallet.createRandom().address, (new web3.BigNumber(tokensPerLockup)).mul(c.exponent)]); + } + var crowdsale; + var lockup; + return newContract().then(function(crowdsaleInstance) { + crowdsale = crowdsaleInstance; + var promises = [] + for (var i = 0; i < lockups.length; i++) { + promises.push(crowdsale.lockupTokens(lockups[i][0], lockups[i][1], {from: accounts[0]})); + } + return Promise.all([Promise.all(promises), crowdsale.lockup.call()]); + }).then(function(res) { + lockup = BRDLockup.at(res[1]); + return awaitEndTime(new Promise(function(s) { s(crowdsale); })); + }).then(function(numAllocations) { + // the finalize function is most likely to fail since it performs a lockup and some other functions + return crowdsale.finalize({from: accounts[0], gas: 6700000}); + }).then(function() { + return crowdsale.lockup.call(); + }).then(function(lockupAddr) { + // process all unlocks + return unlockAllTokens(crowdsale, BRDLockup.at(lockupAddr)); + }).then(function() { + // for good measure check all balances + var promises = []; + for (var i = 0; i < lockups.length; i++) { + var addr = lockups[i][0]; + promises.push(crowdsale.token.call().then(function(ta) { + return Promise.all([BRDToken.at(ta).balanceOf(addr)]); + })); + } + return Promise.all(promises); + }).then(function(balances) { + for (var i = 0; i < lockups.length; i++) { + assert((new web3.BigNumber(balances[i][0])).eq(lockups[i][1])); + } + }); + }); + + it('should allow changing the endTime to allow further contributions', function() { + var contractPromise = newContract({endTime: (Math.floor(Date.now()/1000)+5)}); + var crowdsale; + return awaitStartTime(secondAccountAuthorized(contractPromise)).then(function(crowdsaleInstance) { + crowdsale = crowdsaleInstance; + return crowdsale.sendTransaction({value: c.maxContribution.div(2), from: accounts[1]}); + }).then(function() { + return awaitEndTime(new Promise(function(f) { f(crowdsale); })); + }).then(function() { + return crowdsale.sendTransaction({value: c.maxContribution.div(2), from: accounts[1]}); + }).then(function() { + assert(false, 'should fail => after end time'); + }).catch(function(err) { + assert((new String(err)).indexOf('revert') !== -1); + }).then(function() { + return crowdsale.setEndTime(Math.floor(Date.now()/1000)+5, {from: accounts[0]}); // give another 5 secs + }).then(function() { + return crowdsale.sendTransaction({value: c.maxContribution.div(2), from: accounts[1]}); + }).then(function() { + return crowdsale.token.call().then(function(ta) { return BRDToken.at(ta).balanceOf(accounts[1]); }); + }).then(function(balance) { + assert(balance.eq(c.maxContribution.mul(c.rate))); + }); + }); + + it('should not allow transfering of tokens until the crowdsale has been finalized', function() { + // var contractPromise = newContract({endTime: (Math.floor(Date.now()/1000)+5)}); + // var crowdsale; + // var token; + // var amountToSend = (new web3.BigNumber(900)).mul(c.exponent); + // return awaitStartTime(secondAccountAuthorized(contractPromise)).then(function(crowdsaleInstance) { + // crowdsale = crowdsaleInstance; + // return crowdsale.sendTransaction({value: c.maxContribution, from: accounts[1]}); + // }).then(function() { + // return awaitEndTime(new Promise(function(s) { return s(crowdsale); })); + // }).then(function() { // NEED TO FINALIZE + // return crowdsale.token.call(); + // }).then(function(tokenAddr) { + // token = BRDToken.at(tokenAddr); + // // send some tokens to someone who wasnt in the crowdsale + // token.transfer(accounts[2], amountToSend, {from: accounts[1]}); // send 900 BRD + // }).catch(function(err) { + // assert((new String(err)).indexOf('revert') !== -1); + // }).then(function() { + // assert(false, 'should revert'); + // }); + // can't test this, but it works. to test uncomment and the revert is caught in the "after each" hook + }); + + it('should allow transferring of tokens once the crowdsale has been finalized', function() { + var contractPromise = newContract({endTime: (Math.floor(Date.now()/1000)+5)}); + var crowdsale; + var token; + var amountToSend = (new web3.BigNumber(900)).mul(c.exponent); + return awaitStartTime(secondAccountAuthorized(contractPromise)).then(function(crowdsaleInstance) { + crowdsale = crowdsaleInstance; + return crowdsale.sendTransaction({value: c.maxContribution, from: accounts[1]}); + }).then(function() { + return awaitEndTime(new Promise(function(s) { return s(crowdsale); })); + }).then(function() { + return crowdsale.finalize({from: accounts[0]}); + }).then(function() { // NEED TO FINALIZE + return crowdsale.token.call(); + }).then(function(tokenAddr) { + token = BRDToken.at(tokenAddr); + // send some tokens to someone who wasnt in the crowdsale + token.transfer(accounts[2], amountToSend, {from: accounts[1]}); // send 900 BRD + }).then(function() { + return Promise.all([token.balanceOf(accounts[1]), token.balanceOf(accounts[2])]) + }).then(function(bal) { + assert(bal[1].eq(amountToSend)); + }); + }); + + it('should allow the owner to allocate tokens during the crowdsale', function() { + let amountToSend = (new web3.BigNumber(900).mul(c.exponent)); // allocate 1 eth worth + var ownerAmountExpected = (new web3.BigNumber(300).mul(c.exponent)); + let amountWeiExpected = (new web3.BigNumber(1).mul(c.exponent)); + var crowdsale; + var token; + return secondAccountAuthorized().then(function(instance) { + crowdsale = instance; + return instance.allocateTokens(accounts[2], amountToSend, {from: accounts[0]}); + }).then(function() { + return crowdsale.token.call(); + }).then(function(tokenAddr) { + token = BRDToken.at(tokenAddr); + return Promise.all([token.balanceOf(accounts[2]), crowdsale.weiRaised.call(), token.balanceOf(accounts[0])]); + }).then(function(balance) { + assert(balance[0].eq(amountToSend)); + assert(balance[1].eq(amountWeiExpected)); + assert(balance[2].eq(ownerAmountExpected)); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('should allow owner to set the cap before the crowdsale has started', function() { + var crowdsale; + return newContract().then(function(contract) { + crowdsale = contract; + return contract.setCap(c.cap.mul(2)); + }).then(function() { + return crowdsale.cap.call(); + }).then(function(cap) { + assert(cap.eq(c.cap.mul(2))); + }).catch(function(err) { + console.log(err); + assert(false, 'no error expected'); + }); + }); + + it('succeeds when forwarding eth to a smart contract wallet', function() { + var crowdsale; + var wallet; + var token; + return WalletSimple.new([accounts[0], accounts[1], accounts[2]]).then(function(instance) { + wallet = instance; + return awaitStartTime(secondAccountAuthorized(newContract({wallet: wallet.address}))); + }).then(function(crowdsaleInstance) { + crowdsale = crowdsaleInstance; + return crowdsale.token.call(); + }).then(function(tokenAddress) { + token = BRDToken.at(tokenAddress); + return crowdsale.sendTransaction({from: accounts[1], value: (new web3.BigNumber(1)).mul(c.exponent)}); + }).then(function() { + return Promise.all([token.balanceOf(wallet.address), getEthBalance(wallet.address)]); + }).then(function(balance) { + // console.log('balance', balance.toString()); + assert(balance[0].eq((new web3.BigNumber(c.ownerRate)).mul(c.exponent))); + assert(balance[1].eq((new web3.BigNumber(1)).mul(c.exponent))); + }).catch(function(err) { + console.log('err', err); + assert(false, 'no error expected'); + }); + }); +}); diff --git a/test/brdvendingmachine.js b/test/brdvendingmachine.js new file mode 100644 index 0000000..3b78083 --- /dev/null +++ b/test/brdvendingmachine.js @@ -0,0 +1,163 @@ +var BRDToken = artifacts.require('BRDToken'); +var BRDVendingMachine = artifacts.require('BRDVendingMachine'); +var constants = require('../constants.js'); +var ethers = require('ethers'); + +contract('BRDVendingMachine', function(accounts) { + var errOut = function(promise, errMsg) { + return promise.catch(function() { + console.log(errMsg, arguments); + assert(false, 'errored out'); + }); + }; + + let c = constants(web3, accounts, 'development'); + + function tokenWithWalletBalance(bal) { + var token; + var toBal = bal || new web3.BigNumber(1000000).mul(c.exponent); + return errOut(BRDToken.new(), 'error creating token').then(function(contract) { + token = contract; + return errOut(token.mint(accounts[0], toBal), 'error minting tokens').then(function() { + return errOut(token.finishMinting()).then(function() { + return token; + }); + }); + }); + } + + function emptyVendingMachine() { + return tokenWithWalletBalance().then(function(token) { + return errOut(BRDVendingMachine.new(token.address)).then(function(vm) { + // return token.transfer(vm.address, new web3.BigNumber(0)).then(function() { + // return [vm, token]; + // }); + return [vm, token]; + }); + }); + } + + function tokenWithVendingBalance(bal) { + var token; + var toBal = bal || new web3.BigNumber(100000).mul(c.exponent); + return emptyVendingMachine().then(function([vm, token]) { + return errOut(token.transfer(vm.address, toBal)).then(function() { + return [vm, token]; + }); + }); + } + + it('should create a token with some balance', function() { + return tokenWithWalletBalance().then(function(token) { + return token.balanceOf(accounts[0]).then(function(bal) { + assert(bal.eq(new web3.BigNumber(1000000).mul(c.exponent))); + }); + }); + }); + + it('can create both a vending machine and a token', function() { + return emptyVendingMachine().catch(function(err) { + assert(false, "create error", err); + }); + }); + + it('should allow you to retrieve the zero balance', function() { + return emptyVendingMachine().then(function([vm, token]) { + return vm.balanceOf().then(function(bal) { + assert(bal.eq(new web3.BigNumber(0))); + }); + }); + }); + + it('should create a vm with some balance', function() { + return tokenWithVendingBalance().catch(function(err) { + assert(false, 'error ${err}'); + }); + }); + + it('should allow you to transfer some tokens to the vending machine', function() { + return emptyVendingMachine().then(function([vm, token]) { + return token.transfer(token.address, new web3.BigNumber(100).mul(c.exponent)).catch(function(err) { + assert(false, "transfer error", err); + }); + }); + }); + + it('should reflect the vending machine balance once transferred', function() { + return emptyVendingMachine().then(function([vm, token]) { + var tokenBal = new web3.BigNumber(100).mul(c.exponent); + return token.transfer(vm.address, tokenBal).then(function() { + return vm.balanceOf().then(function(bal) { + assert(tokenBal.eq(bal), `invalid balance for vm ${tokenBal} != ${bal}`); + }); + }); + }); + }); + + it('should withdraw tokens back to the account', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + var withdrawBal = new web3.BigNumber(1).mul(c.exponent); + return vm.withdraw(accounts[0], withdrawBal).then(function(tx) { + assert(tx.logs[0].event == 'Withdraw', "didnt withdraw"); + }); + }); + }); + + it('should withdraw the correct balance back to the account', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + var withdrawBal = new web3.BigNumber(1).mul(c.exponent); + return vm.withdraw(accounts[1], withdrawBal).then(function(tx) { + return token.balanceOf(accounts[1]).then(function(bal) { + assert(withdrawBal.eq(bal), 'incorrect balance'); + }); + }); + }); + }); + + it('should bulk transfer a single transfer', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + var withdrawBal = new web3.BigNumber(1).mul(c.exponent); + return vm.bulkTransfer(new web3.BigNumber(0), [accounts[1]], [withdrawBal]).then(function(tx) { + assert(tx.logs[0].args._addresses.length == 1, `expected one transfer ${tx}`); + }); + }); + }); + + it('should bulk transfer the correct amount', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + var expectedBal = new web3.BigNumber(1).mul(c.exponent); + return vm.bulkTransfer(new web3.BigNumber(0), [accounts[1]], [expectedBal]).then(function() { + return token.balanceOf(accounts[1]).then(function(bal) { + assert(expectedBal.eq(bal), `balance ${bal} != expected ${expectedBal}`); + }); + }); + }); + }); + + it('should reject more than 100 transfers', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + let n = [...Array(101).keys()]; + let addrs = n.map(() => accounts[1]); + let amounts = n.map(() => new web3.BigNumber(1).mul(c.exponent)); + return vm.bulkTransfer(new web3.BigNumber(0), addrs, amounts).then(() => { + //assert(false, 'did not throw'); + }).catch((err) => { + assert(!!err, 'no error') + }); + }); + }); + + it('should allow 100 transfers', function() { + return tokenWithVendingBalance().then(function([vm, token]) { + let n = [...Array(100).keys()]; + let addrs = n.map(() => accounts[1]); + let amounts = n.map(() => new web3.BigNumber(30).mul(c.exponent)); + return vm.bulkTransfer(new web3.BigNumber(0), addrs, amounts).then((tx) => { + assert(tx.logs[0].args._addresses.length == 100, 'wrong length'); + return token.balanceOf(accounts[1]).then(function(bal) { + assert(bal.eq(amounts.reduce((p, c) => p.add(c))), `invalid balance ${bal}`); + }); + }); + }); + }); +}); diff --git a/test/metacoin.js b/test/metacoin.js deleted file mode 100644 index c61c093..0000000 --- a/test/metacoin.js +++ /dev/null @@ -1,63 +0,0 @@ -var MetaCoin = artifacts.require("./MetaCoin.sol"); - -contract('MetaCoin', function(accounts) { - it("should put 10000 MetaCoin in the first account", function() { - return MetaCoin.deployed().then(function(instance) { - return instance.getBalance.call(accounts[0]); - }).then(function(balance) { - assert.equal(balance.valueOf(), 10000, "10000 wasn't in the first account"); - }); - }); - it("should call a function that depends on a linked library", function() { - var meta; - var metaCoinBalance; - var metaCoinEthBalance; - - return MetaCoin.deployed().then(function(instance) { - meta = instance; - return meta.getBalance.call(accounts[0]); - }).then(function(outCoinBalance) { - metaCoinBalance = outCoinBalance.toNumber(); - return meta.getBalanceInEth.call(accounts[0]); - }).then(function(outCoinBalanceEth) { - metaCoinEthBalance = outCoinBalanceEth.toNumber(); - }).then(function() { - assert.equal(metaCoinEthBalance, 2 * metaCoinBalance, "Library function returned unexpected function, linkage may be broken"); - }); - }); - it("should send coin correctly", function() { - var meta; - - // Get initial balances of first and second account. - var account_one = accounts[0]; - var account_two = accounts[1]; - - var account_one_starting_balance; - var account_two_starting_balance; - var account_one_ending_balance; - var account_two_ending_balance; - - var amount = 10; - - return MetaCoin.deployed().then(function(instance) { - meta = instance; - return meta.getBalance.call(account_one); - }).then(function(balance) { - account_one_starting_balance = balance.toNumber(); - return meta.getBalance.call(account_two); - }).then(function(balance) { - account_two_starting_balance = balance.toNumber(); - return meta.sendCoin(account_two, amount, {from: account_one}); - }).then(function() { - return meta.getBalance.call(account_one); - }).then(function(balance) { - account_one_ending_balance = balance.toNumber(); - return meta.getBalance.call(account_two); - }).then(function(balance) { - account_two_ending_balance = balance.toNumber(); - - assert.equal(account_one_ending_balance, account_one_starting_balance - amount, "Amount wasn't correctly taken from the sender"); - assert.equal(account_two_ending_balance, account_two_starting_balance + amount, "Amount wasn't correctly sent to the receiver"); - }); - }); -}); diff --git a/truffle.js b/truffle.js index 2491c7c..c8159cb 100644 --- a/truffle.js +++ b/truffle.js @@ -1,9 +1,33 @@ +var HDWalletProvider = require("truffle-hdwallet-provider"); +// var mnemonic = process.env.MNEMONIC; + module.exports = { networks: { development: { host: "localhost", - port: 8545, + port: 8547, network_id: "*" // Match any network id + }, + mainnet: { + host: "localhost", + port: 8545, + network_id: 1, + gas: 4600000, + gasPrice: 45000000000, + // provider: function() { + // return new HDWalletProvider(mnemonic, "https://mainnet.infura.io/xSXzvbe1qPb1uMVIyJH8"); + // }, + }, + kovan: { + host: "localhost", + port: 8545, + network_id: 42, + }, + ropsten: { + host: "localhost", + port: 8545, + network_id: 3, + gas: 4700000, } } };