Skip to content

Instantly share code, notes, and snippets.

@www222fff
Created April 8, 2022 14:41
Show Gist options
  • Save www222fff/baaecb4889c5e70edef6085de38e892d to your computer and use it in GitHub Desktop.
Save www222fff/baaecb4889c5e70edef6085de38e892d to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.4.21+commit.dfe3193c.js&optimize=false&runs=200&gist=
REMIX EXAMPLE PROJECT
Remix example project is present when Remix loads for the very first time or there are no files existing in the File Explorer.
It contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity.
SCRIPTS
The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract.
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required).
Scripts have full access to the web3.js and ethers.js libraries.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
{"compiler":{"version":"0.4.21+commit.dfe3193c"},"language":"Solidity","output":{"abi":[{"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":"success","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","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":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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_initialAmount","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint8"},{"name":"_tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"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"}],"devdoc":{"methods":{}},"userdoc":{"methods":{}}},"settings":{"compilationTarget":{"shuyao_token/shuyaoToken.sol":"SHUYAO"},"evmVersion":"byzantium","libraries":{},"optimizer":{"enabled":false,"runs":200},"remappings":[]},"sources":{"shuyao_token/EIP20Interface.sol":{"keccak256":"0x95715abe8c85b60efb9b460668441672944b4e8992e8469a387ea7cf68cd54d2","urls":["bzzr://57eea3eb504db9ade11efd8b5cc6a84c42b391f33feca158cb9d6e584583afa2"]},"shuyao_token/shuyaoToken.sol":{"keccak256":"0xa905ec75e7f634cf120347bf2a6994e3bd46c10b9b33816247161d983df04479","urls":["bzzr://43742f1dd6cbc9ef12131cab3bf12713e0577bdbef09a8fefd83fa906a675b18"]}},"version":1}
{
"id": "3f39072459ed3c43db2031d1bf7c1383",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.4.26",
"solcLongVersion": "0.4.26+commit.4563c3fc",
"input": {
"language": "Solidity",
"sources": {
"shuyao_token/shuyaoToken.sol": {
"content": "/*\r\nImplements SHUYAO token standard: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\r\n.*/\r\n\r\n\r\npragma solidity ^0.4.21;\r\n\r\nimport \"./EIP20Interface.sol\";\r\n\r\n\r\ncontract SHUYAO is EIP20Interface {\r\n\r\n uint256 constant private MAX_UINT256 = 2**256 - 1;\r\n mapping (address => uint256) public balances;\r\n mapping (address => mapping (address => uint256)) public allowed;\r\n /*\r\n NOTE:\r\n The following variables are OPTIONAL vanities. One does not have to include them.\r\n They allow one to customise the token contract & in no way influences the core functionality.\r\n Some wallets/interfaces might not even bother to look at this information.\r\n */\r\n string public name; //fancy name: eg Simon Bucks\r\n uint8 public decimals; //How many decimals to show.\r\n string public symbol; //An identifier: eg SBX\r\n\r\n function SHUYAO(\r\n uint256 _initialAmount,\r\n string _tokenName,\r\n uint8 _decimalUnits,\r\n string _tokenSymbol\r\n ) public {\r\n balances[msg.sender] = _initialAmount; // Give the creator all initial tokens\r\n totalSupply = _initialAmount; // Update total supply\r\n name = _tokenName; // Set the name for display purposes\r\n decimals = _decimalUnits; // Amount of decimals for display purposes\r\n symbol = _tokenSymbol; // Set the symbol for display purposes\r\n }\r\n\r\n function transfer(address _to, uint256 _value) public returns (bool success) {\r\n require(balances[msg.sender] >= _value);\r\n balances[msg.sender] -= _value;\r\n balances[_to] += _value;\r\n emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r\n uint256 allowance = allowed[_from][msg.sender];\r\n require(balances[_from] >= _value && allowance >= _value);\r\n balances[_to] += _value;\r\n balances[_from] -= _value;\r\n if (allowance < MAX_UINT256) {\r\n allowed[_from][msg.sender] -= _value;\r\n }\r\n emit Transfer(_from, _to, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function balanceOf(address _owner) public view returns (uint256 balance) {\r\n return balances[_owner];\r\n }\r\n\r\n function approve(address _spender, uint256 _value) public returns (bool success) {\r\n allowed[msg.sender][_spender] = _value;\r\n emit Approval(msg.sender, _spender, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r\n return allowed[_owner][_spender];\r\n }\r\n}"
},
"shuyao_token/EIP20Interface.sol": {
"content": "// Abstract contract for the full ERC 20 Token standard\r\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\r\npragma solidity ^0.4.21;\r\n\r\ncontract EIP20Interface {\r\n /* This is a slight change to the ERC20 base standard.\r\n function totalSupply() constant returns (uint256 supply);\r\n is replaced with:\r\n uint256 public totalSupply;\r\n This automatically creates a getter function for the totalSupply.\r\n This is moved to the base contract since public getter functions are not\r\n currently recognised as an implementation of the matching abstract\r\n function by the compiler.\r\n */\r\n /// total amount of tokens\r\n uint256 public totalSupply;\r\n\r\n /// @param _owner The address from which the balance will be retrieved\r\n /// @return The balance\r\n function balanceOf(address _owner) public view returns (uint256 balance);\r\n\r\n /// @notice send `_value` token to `_to` from `msg.sender`\r\n /// @param _to The address of the recipient\r\n /// @param _value The amount of token to be transferred\r\n /// @return Whether the transfer was successful or not\r\n function transfer(address _to, uint256 _value) public returns (bool success);\r\n\r\n /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\r\n /// @param _from The address of the sender\r\n /// @param _to The address of the recipient\r\n /// @param _value The amount of token to be transferred\r\n /// @return Whether the transfer was successful or not\r\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);\r\n\r\n /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\r\n /// @param _spender The address of the account able to transfer the tokens\r\n /// @param _value The amount of tokens to be approved for transfer\r\n /// @return Whether the approval was successful or not\r\n function approve(address _spender, uint256 _value) public returns (bool success);\r\n\r\n /// @param _owner The address of the account owning tokens\r\n /// @param _spender The address of the account able to transfer the tokens\r\n /// @return Amount of remaining tokens allowed to spent\r\n function allowance(address _owner, address _spender) public view returns (uint256 remaining);\r\n\r\n // solhint-disable-next-line no-simple-event-func-name\r\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\r\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"shuyao_token/EIP20Interface.sol": {
"EIP20Interface": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "success",
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"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"
},
{
"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"
}
],
"devdoc": {
"methods": {
"allowance(address,address)": {
"return": "Amount of remaining tokens allowed to spent"
},
"approve(address,uint256)": {
"return": "Whether the approval was successful or not"
},
"balanceOf(address)": {
"return": "The balance"
},
"transfer(address,uint256)": {
"return": "Whether the transfer was successful or not"
},
"transferFrom(address,address,uint256)": {
"return": "Whether the transfer was successful or not"
}
}
},
"evm": {
"assembly": "",
"bytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "",
"userdoc": {
"methods": {}
}
}
},
"shuyao_token/shuyaoToken.sol": {
"SHUYAO": {
"abi": [
{
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "address"
}
],
"name": "allowed",
"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": 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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_initialAmount",
"type": "uint256"
},
{
"name": "_tokenName",
"type": "string"
},
{
"name": "_decimalUnits",
"type": "uint8"
},
{
"name": "_tokenSymbol",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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"
},
{
"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"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n mstore(0x40, 0x80)\n /* \"shuyao_token/shuyaoToken.sol\":899:1549 function SHUYAO(\r... */\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_1:\n /* \"shuyao_token/shuyaoToken.sol\":899:1549 function SHUYAO(\r... */\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n dup1\n 0x40\n mstore\n dup2\n add\n swap1\n dup1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n mload\n dup3\n add\n swap3\n swap2\n swap1\n 0x20\n add\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n mload\n dup3\n add\n swap3\n swap2\n swap1\n pop\n pop\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1084:1098 _initialAmount */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":1061:1069 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1061:1081 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1070:1080 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1061:1081 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":1061:1098 balances[msg.sender] = _initialAmount */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1176:1190 _initialAmount */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":1162:1173 totalSupply */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1162:1190 totalSupply = _initialAmount */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1254:1264 _tokenName */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":1247:1251 name */\n 0x3\n /* \"shuyao_token/shuyaoToken.sol\":1247:1264 name = _tokenName */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_4\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_4:\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1357:1370 _decimalUnits */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1346:1354 decimals */\n 0x4\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1346:1370 decimals = _decimalUnits */\n 0x100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n 0xff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1460:1472 _tokenSymbol */\n dup1\n /* \"shuyao_token/shuyaoToken.sol\":1451:1457 symbol */\n 0x5\n /* \"shuyao_token/shuyaoToken.sol\":1451:1472 symbol = _tokenSymbol */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_6\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_6:\n pop\n /* \"shuyao_token/shuyaoToken.sol\":899:1549 function SHUYAO(\r... */\n pop\n pop\n pop\n pop\n /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n jump(tag_7)\ntag_5:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_8)\ntag_9:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_8\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_8:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n jump\t// in(tag_13)\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\n tag_14\n swap2\n swap1\ntag_15:\n dup1\n dup3\n gt\n iszero\n tag_16\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_15)\ntag_16:\n pop\n swap1\n jump\ntag_14:\n swap1\n jump\t// out\ntag_7:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x4))\n calldataload(0x0)\n 0x100000000000000000000000000000000000000000000000000000000\n swap1\n div\n 0xffffffff\n and\n dup1\n 0x6fdde03\n eq\n tag_2\n jumpi\n dup1\n 0x95ea7b3\n eq\n tag_3\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_4\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_5\n jumpi\n dup1\n 0x27e235e3\n eq\n tag_6\n jumpi\n dup1\n 0x313ce567\n eq\n tag_7\n jumpi\n dup1\n 0x5c658165\n eq\n tag_8\n jumpi\n dup1\n 0x70a08231\n eq\n tag_9\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_10\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_11\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_12\n jumpi\n tag_1:\n 0x0\n dup1\n revert\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n tag_2:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_13\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_13:\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n pop\n tag_14\n jump(tag_15)\n tag_14:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_16:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_17\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_16)\n tag_17:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_19\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_19:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n tag_3:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_20\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_20:\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n pop\n tag_21\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_22)\n tag_21:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/EIP20Interface.sol\":651:677 uint256 public totalSupply */\n tag_4:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_23\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_23:\n /* \"shuyao_token/EIP20Interface.sol\":651:677 uint256 public totalSupply */\n pop\n tag_24\n jump(tag_25)\n tag_24:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n tag_5:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_26\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_26:\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n pop\n tag_27\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_28)\n tag_27:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":271:315 mapping (address => uint256) public balances */\n tag_6:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_29\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_29:\n /* \"shuyao_token/shuyaoToken.sol\":271:315 mapping (address => uint256) public balances */\n pop\n tag_30\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_31)\n tag_30:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":758:779 uint8 public decimals */\n tag_7:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_32\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_32:\n /* \"shuyao_token/shuyaoToken.sol\":758:779 uint8 public decimals */\n pop\n tag_33\n jump(tag_34)\n tag_33:\n mload(0x40)\n dup1\n dup3\n 0xff\n and\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":322:386 mapping (address => mapping (address => uint256)) public allowed */\n tag_8:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_35\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_35:\n /* \"shuyao_token/shuyaoToken.sol\":322:386 mapping (address => mapping (address => uint256)) public allowed */\n pop\n tag_36\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_37)\n tag_36:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n tag_9:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_38\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_38:\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n pop\n tag_39\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_40)\n tag_39:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n tag_10:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_41\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_41:\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n pop\n tag_42\n jump(tag_43)\n tag_42:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_44:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_45\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_44)\n tag_45:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_47\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_47:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n tag_11:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_48\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_48:\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n pop\n tag_49\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_50)\n tag_49:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n tag_12:\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_51\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x0\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_51:\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n pop\n tag_52\n 0x4\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n jump(tag_53)\n tag_52:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n tag_15:\n 0x3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_54\n jumpi\n dup1\n 0x1f\n lt\n tag_55\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_54)\n tag_55:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_56:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_56\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_54:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n tag_22:\n /* \"shuyao_token/shuyaoToken.sol\":2603:2615 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2660:2666 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2628:2635 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2628:2647 allowed[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2636:2646 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2628:2647 allowed[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2628:2657 allowed[msg.sender][_spender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2648:2656 _spender */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2628:2657 allowed[msg.sender][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2628:2666 allowed[msg.sender][_spender] = _value */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2703:2711 _spender */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":2691:2701 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n /* \"shuyao_token/shuyaoToken.sol\":2713:2719 _value */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":2784:2788 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2777:2788 return true */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"shuyao_token/EIP20Interface.sol\":651:677 uint256 public totalSupply */\n tag_25:\n sload(0x0)\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n tag_28:\n /* \"shuyao_token/shuyaoToken.sol\":1974:1986 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1999:2016 uint256 allowance */\n dup1\n /* \"shuyao_token/shuyaoToken.sol\":2019:2026 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2019:2033 allowed[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2027:2032 _from */\n dup7\n /* \"shuyao_token/shuyaoToken.sol\":2019:2033 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2019:2045 allowed[_from][msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2034:2044 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2019:2045 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":1999:2045 uint256 allowance = allowed[_from][msg.sender] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2083:2089 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2064:2072 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2064:2079 balances[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2073:2078 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2064:2079 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2064:2089 balances[_from] >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":2064:2112 balances[_from] >= _value && allowance >= _value */\n dup1\n iszero\n tag_59\n jumpi\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2106:2112 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2093:2102 allowance */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2093:2112 allowance >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":2064:2112 balances[_from] >= _value && allowance >= _value */\n tag_59:\n /* \"shuyao_token/shuyaoToken.sol\":2056:2113 require(balances[_from] >= _value && allowance >= _value) */\n iszero\n iszero\n tag_60\n jumpi\n 0x0\n dup1\n revert\n tag_60:\n /* \"shuyao_token/shuyaoToken.sol\":2141:2147 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2124:2132 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2124:2137 balances[_to] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2133:2136 _to */\n dup7\n /* \"shuyao_token/shuyaoToken.sol\":2124:2137 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2124:2147 balances[_to] += _value */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2177:2183 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2158:2166 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2158:2173 balances[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2167:2172 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2158:2173 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2158:2183 balances[_from] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":254:264 2**256 - 1 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"shuyao_token/shuyaoToken.sol\":2198:2207 allowance */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2198:2221 allowance < MAX_UINT256 */\n lt\n /* \"shuyao_token/shuyaoToken.sol\":2194:2286 if (allowance < MAX_UINT256) {\r... */\n iszero\n tag_61\n jumpi\n /* \"shuyao_token/shuyaoToken.sol\":2268:2274 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2238:2245 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2238:2252 allowed[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2246:2251 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2238:2252 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2238:2264 allowed[_from][msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2253:2263 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2238:2264 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2238:2274 allowed[_from][msg.sender] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2194:2286 if (allowance < MAX_UINT256) {\r... */\n tag_61:\n /* \"shuyao_token/shuyaoToken.sol\":2317:2320 _to */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":2310:2315 _from */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"shuyao_token/shuyaoToken.sol\":2322:2328 _value */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":2393:2397 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2386:2397 return true */\n swap2\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":271:315 mapping (address => uint256) public balances */\n tag_31:\n mstore(0x20, 0x1)\n dup1\n 0x0\n mstore\n keccak256(0x0, 0x40)\n 0x0\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":758:779 uint8 public decimals */\n tag_34:\n 0x4\n 0x0\n swap1\n sload\n swap1\n 0x100\n exp\n swap1\n div\n 0xff\n and\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":322:386 mapping (address => mapping (address => uint256)) public allowed */\n tag_37:\n mstore(0x20, 0x2)\n dup2\n 0x0\n mstore\n mstore(0x20, keccak256(0x0, 0x40))\n dup1\n 0x0\n mstore\n keccak256(0x0, 0x40)\n 0x0\n swap2\n pop\n swap2\n pop\n pop\n sload\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n tag_40:\n /* \"shuyao_token/shuyaoToken.sol\":2469:2484 uint256 balance */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2504:2512 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2504:2520 balances[_owner] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2513:2519 _owner */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2504:2520 balances[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2497:2520 return balances[_owner] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n tag_43:\n 0x5\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_63\n jumpi\n dup1\n 0x1f\n lt\n tag_64\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_63)\n tag_64:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_65:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_65\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_63:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n tag_50:\n /* \"shuyao_token/shuyaoToken.sol\":1620:1632 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1677:1683 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1653:1661 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1653:1673 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1662:1672 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1653:1673 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":1653:1683 balances[msg.sender] >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":1645:1684 require(balances[msg.sender] >= _value) */\n iszero\n iszero\n tag_67\n jumpi\n 0x0\n dup1\n revert\n tag_67:\n /* \"shuyao_token/shuyaoToken.sol\":1719:1725 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1695:1703 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1695:1715 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1704:1714 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1695:1715 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1695:1725 balances[msg.sender] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1753:1759 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1736:1744 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1736:1749 balances[_to] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1745:1748 _to */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":1736:1749 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1736:1759 balances[_to] += _value */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1796:1799 _to */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":1784:1794 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"shuyao_token/shuyaoToken.sol\":1801:1807 _value */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":1872:1876 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1865:1876 return true */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n tag_53:\n /* \"shuyao_token/shuyaoToken.sol\":2878:2895 uint256 remaining */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2915:2922 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2915:2930 allowed[_owner] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2923:2929 _owner */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":2915:2930 allowed[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2915:2940 allowed[_owner][_spender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2931:2939 _spender */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2915:2940 allowed[_owner][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2908:2940 return allowed[_owner][_spender] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa165627a7a723058208c0518a23317e1838117f1fa88de756bbee00b310f98463a4fd3f3f45926e9bf0029\n}\n",
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50604051610e30380380610e308339810180604052810190808051906020019092919080518201929190602001805190602001909291908051820192919050505083600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600390805190602001906100b29291906100ee565b5081600460006101000a81548160ff021916908360ff16021790555080600590805190602001906100e49291906100ee565b5050505050610193565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012f57805160ff191683800117855561015d565b8280016001018555821561015d579182015b8281111561015c578251825591602001919060010190610141565b5b50905061016a919061016e565b5090565b61019091905b8082111561018c576000816000905550600101610174565b5090565b90565b610c8e806101a26000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014457806318160ddd146101a957806323b872dd146101d457806327e235e314610259578063313ce567146102b05780635c658165146102e157806370a082311461035857806395d89b41146103af578063a9059cbb1461043f578063dd62ed3e146104a4575b600080fd5b3480156100c057600080fd5b506100c961051b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101095780820151818401526020810190506100ee565b50505050905090810190601f1680156101365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015057600080fd5b5061018f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b9565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be6106ab565b6040518082815260200191505060405180910390f35b3480156101e057600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106b1565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094b565b6040518082815260200191505060405180910390f35b3480156102bc57600080fd5b506102c5610963565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102ed57600080fd5b50610342600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610976565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b50610399600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099b565b6040518082815260200191505060405180910390f35b3480156103bb57600080fd5b506103c46109e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b5061048a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a82565b604051808215151515815260200191505060405180910390f35b3480156104b057600080fd5b50610505600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bdb565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156107825750828110155b151561078d57600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108da5782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a7a5780601f10610a4f57610100808354040283529160200191610a7a565b820191906000526020600020905b815481529060010190602001808311610a5d57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610ad257600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a723058208c0518a23317e1838117f1fa88de756bbee00b310f98463a4fd3f3f45926e9bf0029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xE30 CODESIZE SUB DUP1 PUSH2 0xE30 DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP3 SWAP2 SWAP1 PUSH1 0x20 ADD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP3 SWAP2 SWAP1 POP POP POP DUP4 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 DUP4 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xB2 SWAP3 SWAP2 SWAP1 PUSH2 0xEE JUMP JUMPDEST POP DUP2 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xE4 SWAP3 SWAP2 SWAP1 PUSH2 0xEE JUMP JUMPDEST POP POP POP POP POP PUSH2 0x193 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 PUSH2 0x12F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x15D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x15D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x15C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x141 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x16A SWAP2 SWAP1 PUSH2 0x16E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x190 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x18C JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x174 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xC8E DUP1 PUSH2 0x1A2 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2B0 JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x358 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x3AF JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x4A4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x51B 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 0x109 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEE JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x136 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 DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x5B9 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 DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BE PUSH2 0x6AB 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 DUP1 ISZERO PUSH2 0x1E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x6B1 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 DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x29A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x94B 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 DUP1 ISZERO PUSH2 0x2BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2C5 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x342 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x976 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 DUP1 ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x399 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x99B 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 DUP1 ISZERO PUSH2 0x3BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH2 0x9E4 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 0x404 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x431 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 DUP1 ISZERO PUSH2 0x44B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xA82 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 DUP1 ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x505 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xBDB 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 0x3 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 0x5B1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x586 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5B1 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 0x594 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x782 JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x78D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x8DA JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA7A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA4F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7A 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 0xA5D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xAD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 DUP13 SDIV XOR LOG2 CALLER OR 0xe1 DUP4 DUP2 OR CALL STATICCALL DUP9 0xde PUSH22 0x6BBEE00B310F98463A4FD3F3F45926E9BF0029000000 ",
"sourceMap": "172:2779:1:-;;;899:650;8:9:-1;5:2;;;30:1;27;20:12;5:2;899:650:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:14;1061:8;:20;1070:10;1061:20;;;;;;;;;;;;;;;:37;;;;1176:14;1162:11;:28;;;;1254:10;1247:4;:17;;;;;;;;;;;;:::i;:::-;;1357:13;1346:8;;:24;;;;;;;;;;;;;;;;;;1460:12;1451:6;:21;;;;;;;;;;;;:::i;:::-;;899:650;;;;172:2779;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014457806318160ddd146101a957806323b872dd146101d457806327e235e314610259578063313ce567146102b05780635c658165146102e157806370a082311461035857806395d89b41146103af578063a9059cbb1461043f578063dd62ed3e146104a4575b600080fd5b3480156100c057600080fd5b506100c961051b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101095780820151818401526020810190506100ee565b50505050905090810190601f1680156101365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015057600080fd5b5061018f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b9565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be6106ab565b6040518082815260200191505060405180910390f35b3480156101e057600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106b1565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061029a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094b565b6040518082815260200191505060405180910390f35b3480156102bc57600080fd5b506102c5610963565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102ed57600080fd5b50610342600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610976565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b50610399600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099b565b6040518082815260200191505060405180910390f35b3480156103bb57600080fd5b506103c46109e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104045780820151818401526020810190506103e9565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561044b57600080fd5b5061048a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a82565b604051808215151515815260200191505060405180910390f35b3480156104b057600080fd5b50610505600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bdb565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156107825750828110155b151561078d57600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108da5782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a7a5780601f10610a4f57610100808354040283529160200191610a7a565b820191906000526020600020905b815481529060010190602001808311610a5d57829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610ad257600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a723058208c0518a23317e1838117f1fa88de756bbee00b310f98463a4fd3f3f45926e9bf0029",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x2B0 JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x358 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x3AF JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x4A4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x51B 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 0x109 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEE JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x136 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 DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x5B9 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 DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BE PUSH2 0x6AB 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 DUP1 ISZERO PUSH2 0x1E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x6B1 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 DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x29A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x94B 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 DUP1 ISZERO PUSH2 0x2BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2C5 PUSH2 0x963 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x342 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x976 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 DUP1 ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x399 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x99B 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 DUP1 ISZERO PUSH2 0x3BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH2 0x9E4 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 0x404 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x431 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 DUP1 ISZERO PUSH2 0x44B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xA82 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 DUP1 ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x505 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xBDB 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 0x3 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 0x5B1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x586 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5B1 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 0x594 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x782 JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x78D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x8DA JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA7A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA4F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7A 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 0xA5D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xAD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 DUP13 SDIV XOR LOG2 CALLER OR 0xe1 DUP4 DUP2 OR CALL STATICCALL DUP9 0xde PUSH22 0x6BBEE00B310F98463A4FD3F3F45926E9BF0029000000 ",
"sourceMap": "172:2779:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;686:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;686:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2536:260:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;651:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;651:26:0;;;;;;;;;;;;;;;;;;;;;;;1892:513:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1892:513:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;758:21:1;;;;;;;;;;;;;;;;;;;;;;;;;;;322:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;322:64:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2413:115:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;830:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;830:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1557:327:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2804:144:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2536:260::-;2603:12;2660:6;2628:7;:19;2636:10;2628:19;;;;;;;;;;;;;;;:29;2648:8;2628:29;;;;;;;;;;;;;;;:38;;;;2703:8;2682:38;;2691:10;2682:38;;;2713:6;2682:38;;;;;;;;;;;;;;;;;;2784:4;2777:11;;2536:260;;;;:::o;651:26:0:-;;;;:::o;1892:513:1:-;1974:12;1999:17;2019:7;:14;2027:5;2019:14;;;;;;;;;;;;;;;:26;2034:10;2019:26;;;;;;;;;;;;;;;;1999:46;;2083:6;2064:8;:15;2073:5;2064:15;;;;;;;;;;;;;;;;:25;;:48;;;;;2106:6;2093:9;:19;;2064:48;2056:57;;;;;;;;2141:6;2124:8;:13;2133:3;2124:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2177:6;2158:8;:15;2167:5;2158:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;254:10;2198:9;:23;2194:92;;;2268:6;2238:7;:14;2246:5;2238:14;;;;;;;;;;;;;;;:26;2253:10;2238:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2194:92;2317:3;2301:28;;2310:5;2301:28;;;2322:6;2301:28;;;;;;;;;;;;;;;;;;2393:4;2386:11;;1892:513;;;;;;:::o;271:44::-;;;;;;;;;;;;;;;;;:::o;758:21::-;;;;;;;;;;;;;:::o;322:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2413:115::-;2469:15;2504:8;:16;2513:6;2504:16;;;;;;;;;;;;;;;;2497:23;;2413:115;;;:::o;830:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1557:327::-;1620:12;1677:6;1653:8;:20;1662:10;1653:20;;;;;;;;;;;;;;;;:30;;1645:39;;;;;;;;1719:6;1695:8;:20;1704:10;1695:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1753:6;1736:8;:13;1745:3;1736:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1796:3;1775:33;;1784:10;1775:33;;;1801:6;1775:33;;;;;;;;;;;;;;;;;;1872:4;1865:11;;1557:327;;;;:::o;2804:144::-;2878:17;2915:7;:15;2923:6;2915:15;;;;;;;;;;;;;;;:25;2931:8;2915:25;;;;;;;;;;;;;;;;2908:32;;2804:144;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "642800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "904",
"allowed(address,address)": "762",
"approve(address,uint256)": "22353",
"balanceOf(address)": "713",
"balances(address)": "620",
"decimals()": "552",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "438",
"transfer(address,uint256)": "43302",
"transferFrom(address,address,uint256)": "64072"
}
},
"legacyAssembly": {
".code": [
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "80"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "40"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 899,
"end": 1549,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "40"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "PUSHSIZE"
},
{
"begin": 899,
"end": 1549,
"name": "CODESIZE"
},
{
"begin": 899,
"end": 1549,
"name": "SUB"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSHSIZE"
},
{
"begin": 899,
"end": 1549,
"name": "DUP4"
},
{
"begin": 899,
"end": 1549,
"name": "CODECOPY"
},
{
"begin": 899,
"end": 1549,
"name": "DUP2"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "40"
},
{
"begin": 899,
"end": 1549,
"name": "MSTORE"
},
{
"begin": 899,
"end": 1549,
"name": "DUP2"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP3"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP3"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP3"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP3"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP3"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP3"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 1084,
"end": 1098,
"name": "DUP4"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "1"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "0"
},
{
"begin": 1070,
"end": 1080,
"name": "CALLER"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1081,
"name": "AND"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1081,
"name": "AND"
},
{
"begin": 1061,
"end": 1081,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1081,
"name": "MSTORE"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "20"
},
{
"begin": 1061,
"end": 1081,
"name": "ADD"
},
{
"begin": 1061,
"end": 1081,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1081,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1081,
"name": "MSTORE"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "20"
},
{
"begin": 1061,
"end": 1081,
"name": "ADD"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "0"
},
{
"begin": 1061,
"end": 1081,
"name": "KECCAK256"
},
{
"begin": 1061,
"end": 1098,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1098,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1098,
"name": "SSTORE"
},
{
"begin": 1061,
"end": 1098,
"name": "POP"
},
{
"begin": 1176,
"end": 1190,
"name": "DUP4"
},
{
"begin": 1162,
"end": 1173,
"name": "PUSH",
"value": "0"
},
{
"begin": 1162,
"end": 1190,
"name": "DUP2"
},
{
"begin": 1162,
"end": 1190,
"name": "SWAP1"
},
{
"begin": 1162,
"end": 1190,
"name": "SSTORE"
},
{
"begin": 1162,
"end": 1190,
"name": "POP"
},
{
"begin": 1254,
"end": 1264,
"name": "DUP3"
},
{
"begin": 1247,
"end": 1251,
"name": "PUSH",
"value": "3"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "DUP1"
},
{
"begin": 1247,
"end": 1264,
"name": "MLOAD"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH",
"value": "20"
},
{
"begin": 1247,
"end": 1264,
"name": "ADD"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP3"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP2"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 1247,
"end": 1264,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1247,
"end": 1264,
"name": "tag",
"value": "4"
},
{
"begin": 1247,
"end": 1264,
"name": "JUMPDEST"
},
{
"begin": 1247,
"end": 1264,
"name": "POP"
},
{
"begin": 1357,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1354,
"name": "PUSH",
"value": "4"
},
{
"begin": 1346,
"end": 1354,
"name": "PUSH",
"value": "0"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "100"
},
{
"begin": 1346,
"end": 1370,
"name": "EXP"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1370,
"name": "SLOAD"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "FF"
},
{
"begin": 1346,
"end": 1370,
"name": "MUL"
},
{
"begin": 1346,
"end": 1370,
"name": "NOT"
},
{
"begin": 1346,
"end": 1370,
"name": "AND"
},
{
"begin": 1346,
"end": 1370,
"name": "SWAP1"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP4"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "FF"
},
{
"begin": 1346,
"end": 1370,
"name": "AND"
},
{
"begin": 1346,
"end": 1370,
"name": "MUL"
},
{
"begin": 1346,
"end": 1370,
"name": "OR"
},
{
"begin": 1346,
"end": 1370,
"name": "SWAP1"
},
{
"begin": 1346,
"end": 1370,
"name": "SSTORE"
},
{
"begin": 1346,
"end": 1370,
"name": "POP"
},
{
"begin": 1460,
"end": 1472,
"name": "DUP1"
},
{
"begin": 1451,
"end": 1457,
"name": "PUSH",
"value": "5"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "DUP1"
},
{
"begin": 1451,
"end": 1472,
"name": "MLOAD"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH",
"value": "20"
},
{
"begin": 1451,
"end": 1472,
"name": "ADD"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP3"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP2"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 1451,
"end": 1472,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1451,
"end": 1472,
"name": "tag",
"value": "6"
},
{
"begin": 1451,
"end": 1472,
"name": "JUMPDEST"
},
{
"begin": 1451,
"end": 1472,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "5"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "SLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "100"
},
{
"begin": 172,
"end": 2951,
"name": "MUL"
},
{
"begin": 172,
"end": 2951,
"name": "SUB"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "KECCAK256"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1F"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1F"
},
{
"begin": 172,
"end": 2951,
"name": "LT"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "MLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "FF"
},
{
"begin": 172,
"end": 2951,
"name": "NOT"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "DUP4"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "OR"
},
{
"begin": 172,
"end": 2951,
"name": "DUP6"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "DUP6"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "GT"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "MLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "13"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "15"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "GT"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "16"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "14"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "CODECOPY"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a165627a7a723058208c0518a23317e1838117f1fa88de756bbee00b310f98463a4fd3f3f45926e9bf0029",
".code": [
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "80"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "40"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "4"
},
{
"begin": 172,
"end": 2951,
"name": "CALLDATASIZE"
},
{
"begin": 172,
"end": 2951,
"name": "LT"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "CALLDATALOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "6FDDE03"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "95EA7B3"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "18160DDD"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "23B872DD"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "27E235E3"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "313CE567"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "5C658165"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "70A08231"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "95D89B41"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "A9059CBB"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "DD62ED3E"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "REVERT"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "13"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 686,
"end": 704,
"name": "JUMP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "14"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "16"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "17"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "EXP"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "NOT"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "19"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP3"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "RETURN"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "3"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "20"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "4"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLDATASIZE"
},
{
"begin": 2536,
"end": 2796,
"name": "SUB"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP2"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLDATALOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2536,
"end": 2796,
"name": "AND"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP3"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLDATALOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP3"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMP"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "21"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "40"
},
{
"begin": 2536,
"end": 2796,
"name": "MLOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP3"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP2"
},
{
"begin": 2536,
"end": 2796,
"name": "MSTORE"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "40"
},
{
"begin": 2536,
"end": 2796,
"name": "MLOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SUB"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "RETURN"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "4"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "23"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "23"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "POP"
},
{
"begin": 651,
"end": 677,
"name": "PUSH [tag]",
"value": "24"
},
{
"begin": 651,
"end": 677,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 651,
"end": 677,
"name": "JUMP"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "24"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "40"
},
{
"begin": 651,
"end": 677,
"name": "MLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP1"
},
{
"begin": 651,
"end": 677,
"name": "DUP3"
},
{
"begin": 651,
"end": 677,
"name": "DUP2"
},
{
"begin": 651,
"end": 677,
"name": "MSTORE"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "20"
},
{
"begin": 651,
"end": 677,
"name": "ADD"
},
{
"begin": 651,
"end": 677,
"name": "SWAP2"
},
{
"begin": 651,
"end": 677,
"name": "POP"
},
{
"begin": 651,
"end": 677,
"name": "POP"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "40"
},
{
"begin": 651,
"end": 677,
"name": "MLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP1"
},
{
"begin": 651,
"end": 677,
"name": "SWAP2"
},
{
"begin": 651,
"end": 677,
"name": "SUB"
},
{
"begin": 651,
"end": 677,
"name": "SWAP1"
},
{
"begin": 651,
"end": 677,
"name": "RETURN"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "5"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "26"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "26"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "4"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATASIZE"
},
{
"begin": 1892,
"end": 2405,
"name": "SUB"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP2"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1892,
"end": 2405,
"name": "AND"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP3"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1892,
"end": 2405,
"name": "AND"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP3"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP3"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMP"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "27"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "40"
},
{
"begin": 1892,
"end": 2405,
"name": "MLOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP3"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP2"
},
{
"begin": 1892,
"end": 2405,
"name": "MSTORE"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "40"
},
{
"begin": 1892,
"end": 2405,
"name": "MLOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SUB"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "RETURN"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "6"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "29"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "29"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "4"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "CALLDATASIZE"
},
{
"begin": 271,
"end": 315,
"name": "SUB"
},
{
"begin": 271,
"end": 315,
"name": "DUP2"
},
{
"begin": 271,
"end": 315,
"name": "ADD"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "CALLDATALOAD"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 271,
"end": 315,
"name": "AND"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "ADD"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "SWAP3"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 271,
"end": 315,
"name": "JUMP"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "30"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "MLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "DUP3"
},
{
"begin": 271,
"end": 315,
"name": "DUP2"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "ADD"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "MLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "SUB"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "RETURN"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "7"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "32"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "POP"
},
{
"begin": 758,
"end": 779,
"name": "PUSH [tag]",
"value": "33"
},
{
"begin": 758,
"end": 779,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 758,
"end": 779,
"name": "JUMP"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "33"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "40"
},
{
"begin": 758,
"end": 779,
"name": "MLOAD"
},
{
"begin": 758,
"end": 779,
"name": "DUP1"
},
{
"begin": 758,
"end": 779,
"name": "DUP3"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "DUP2"
},
{
"begin": 758,
"end": 779,
"name": "MSTORE"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "20"
},
{
"begin": 758,
"end": 779,
"name": "ADD"
},
{
"begin": 758,
"end": 779,
"name": "SWAP2"
},
{
"begin": 758,
"end": 779,
"name": "POP"
},
{
"begin": 758,
"end": 779,
"name": "POP"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "40"
},
{
"begin": 758,
"end": 779,
"name": "MLOAD"
},
{
"begin": 758,
"end": 779,
"name": "DUP1"
},
{
"begin": 758,
"end": 779,
"name": "SWAP2"
},
{
"begin": 758,
"end": 779,
"name": "SUB"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "RETURN"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "8"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "35"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "PUSH [tag]",
"value": "36"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "4"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "CALLDATASIZE"
},
{
"begin": 322,
"end": 386,
"name": "SUB"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "CALLDATALOAD"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 322,
"end": 386,
"name": "AND"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP3"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "CALLDATALOAD"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 322,
"end": 386,
"name": "AND"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP3"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 322,
"end": 386,
"name": "JUMP"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "36"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "MLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP3"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "MLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SUB"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "RETURN"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "9"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "38"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH [tag]",
"value": "39"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "4"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "CALLDATASIZE"
},
{
"begin": 2413,
"end": 2528,
"name": "SUB"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP2"
},
{
"begin": 2413,
"end": 2528,
"name": "ADD"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "CALLDATALOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2413,
"end": 2528,
"name": "AND"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "20"
},
{
"begin": 2413,
"end": 2528,
"name": "ADD"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP3"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH [tag]",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMP"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "39"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "MLOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP3"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP2"
},
{
"begin": 2413,
"end": 2528,
"name": "MSTORE"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "20"
},
{
"begin": 2413,
"end": 2528,
"name": "ADD"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "MLOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SUB"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "RETURN"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "10"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "41"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "41"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "42"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 830,
"end": 850,
"name": "JUMP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "42"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "44"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "45"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "47"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "EXP"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "NOT"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "47"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP3"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "RETURN"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "11"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "48"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "48"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH [tag]",
"value": "49"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "4"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLDATASIZE"
},
{
"begin": 1557,
"end": 1884,
"name": "SUB"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP2"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLDATALOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1557,
"end": 1884,
"name": "AND"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP3"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLDATALOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP3"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH [tag]",
"value": "50"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMP"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "49"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "40"
},
{
"begin": 1557,
"end": 1884,
"name": "MLOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP3"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP2"
},
{
"begin": 1557,
"end": 1884,
"name": "MSTORE"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "40"
},
{
"begin": 1557,
"end": 1884,
"name": "MLOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SUB"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "RETURN"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "12"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "51"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "51"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH [tag]",
"value": "52"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "4"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLDATASIZE"
},
{
"begin": 2804,
"end": 2948,
"name": "SUB"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP2"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLDATALOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2804,
"end": 2948,
"name": "AND"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP3"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLDATALOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2804,
"end": 2948,
"name": "AND"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP3"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH [tag]",
"value": "53"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMP"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "52"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "40"
},
{
"begin": 2804,
"end": 2948,
"name": "MLOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP3"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP2"
},
{
"begin": 2804,
"end": 2948,
"name": "MSTORE"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "40"
},
{
"begin": 2804,
"end": 2948,
"name": "MLOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SUB"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "RETURN"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "15"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "3"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP3"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "LT"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "55"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "55"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "0"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "0"
},
{
"begin": 686,
"end": 704,
"name": "KECCAK256"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "56"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "GT"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "56"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "22"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2603,
"end": 2615,
"name": "PUSH",
"value": "0"
},
{
"begin": 2660,
"end": 2666,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2635,
"name": "PUSH",
"value": "2"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "0"
},
{
"begin": 2636,
"end": 2646,
"name": "CALLER"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2647,
"name": "AND"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2647,
"name": "AND"
},
{
"begin": 2628,
"end": 2647,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2647,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2647,
"name": "ADD"
},
{
"begin": 2628,
"end": 2647,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2647,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2647,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2647,
"name": "ADD"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "0"
},
{
"begin": 2628,
"end": 2647,
"name": "KECCAK256"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "0"
},
{
"begin": 2648,
"end": 2656,
"name": "DUP6"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2657,
"name": "AND"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2657,
"name": "AND"
},
{
"begin": 2628,
"end": 2657,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2657,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2657,
"name": "ADD"
},
{
"begin": 2628,
"end": 2657,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2657,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2657,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2657,
"name": "ADD"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "0"
},
{
"begin": 2628,
"end": 2657,
"name": "KECCAK256"
},
{
"begin": 2628,
"end": 2666,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2666,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2666,
"name": "SSTORE"
},
{
"begin": 2628,
"end": 2666,
"name": "POP"
},
{
"begin": 2703,
"end": 2711,
"name": "DUP3"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2682,
"end": 2720,
"name": "AND"
},
{
"begin": 2691,
"end": 2701,
"name": "CALLER"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2682,
"end": 2720,
"name": "AND"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
},
{
"begin": 2713,
"end": 2719,
"name": "DUP5"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "40"
},
{
"begin": 2682,
"end": 2720,
"name": "MLOAD"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP1"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP3"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP2"
},
{
"begin": 2682,
"end": 2720,
"name": "MSTORE"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "20"
},
{
"begin": 2682,
"end": 2720,
"name": "ADD"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP2"
},
{
"begin": 2682,
"end": 2720,
"name": "POP"
},
{
"begin": 2682,
"end": 2720,
"name": "POP"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "40"
},
{
"begin": 2682,
"end": 2720,
"name": "MLOAD"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP1"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP2"
},
{
"begin": 2682,
"end": 2720,
"name": "SUB"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP1"
},
{
"begin": 2682,
"end": 2720,
"name": "LOG3"
},
{
"begin": 2784,
"end": 2788,
"name": "PUSH",
"value": "1"
},
{
"begin": 2777,
"end": 2788,
"name": "SWAP1"
},
{
"begin": 2777,
"end": 2788,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP3"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "25"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "0"
},
{
"begin": 651,
"end": 677,
"name": "SLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP2"
},
{
"begin": 651,
"end": 677,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "28"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1974,
"end": 1986,
"name": "PUSH",
"value": "0"
},
{
"begin": 1999,
"end": 2016,
"name": "DUP1"
},
{
"begin": 2019,
"end": 2026,
"name": "PUSH",
"value": "2"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "0"
},
{
"begin": 2027,
"end": 2032,
"name": "DUP7"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2033,
"name": "AND"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2033,
"name": "AND"
},
{
"begin": 2019,
"end": 2033,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2033,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2033,
"name": "ADD"
},
{
"begin": 2019,
"end": 2033,
"name": "SWAP1"
},
{
"begin": 2019,
"end": 2033,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2033,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2033,
"name": "ADD"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "0"
},
{
"begin": 2019,
"end": 2033,
"name": "KECCAK256"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "0"
},
{
"begin": 2034,
"end": 2044,
"name": "CALLER"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2045,
"name": "AND"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2045,
"name": "AND"
},
{
"begin": 2019,
"end": 2045,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2045,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2045,
"name": "ADD"
},
{
"begin": 2019,
"end": 2045,
"name": "SWAP1"
},
{
"begin": 2019,
"end": 2045,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2045,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2045,
"name": "ADD"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "0"
},
{
"begin": 2019,
"end": 2045,
"name": "KECCAK256"
},
{
"begin": 2019,
"end": 2045,
"name": "SLOAD"
},
{
"begin": 1999,
"end": 2045,
"name": "SWAP1"
},
{
"begin": 1999,
"end": 2045,
"name": "POP"
},
{
"begin": 2083,
"end": 2089,
"name": "DUP3"
},
{
"begin": 2064,
"end": 2072,
"name": "PUSH",
"value": "1"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "0"
},
{
"begin": 2073,
"end": 2078,
"name": "DUP8"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2064,
"end": 2079,
"name": "AND"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2064,
"end": 2079,
"name": "AND"
},
{
"begin": 2064,
"end": 2079,
"name": "DUP2"
},
{
"begin": 2064,
"end": 2079,
"name": "MSTORE"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "20"
},
{
"begin": 2064,
"end": 2079,
"name": "ADD"
},
{
"begin": 2064,
"end": 2079,
"name": "SWAP1"
},
{
"begin": 2064,
"end": 2079,
"name": "DUP2"
},
{
"begin": 2064,
"end": 2079,
"name": "MSTORE"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "20"
},
{
"begin": 2064,
"end": 2079,
"name": "ADD"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "0"
},
{
"begin": 2064,
"end": 2079,
"name": "KECCAK256"
},
{
"begin": 2064,
"end": 2079,
"name": "SLOAD"
},
{
"begin": 2064,
"end": 2089,
"name": "LT"
},
{
"begin": 2064,
"end": 2089,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "DUP1"
},
{
"begin": 2064,
"end": 2112,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "PUSH [tag]",
"value": "59"
},
{
"begin": 2064,
"end": 2112,
"name": "JUMPI"
},
{
"begin": 2064,
"end": 2112,
"name": "POP"
},
{
"begin": 2106,
"end": 2112,
"name": "DUP3"
},
{
"begin": 2093,
"end": 2102,
"name": "DUP2"
},
{
"begin": 2093,
"end": 2112,
"name": "LT"
},
{
"begin": 2093,
"end": 2112,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "tag",
"value": "59"
},
{
"begin": 2064,
"end": 2112,
"name": "JUMPDEST"
},
{
"begin": 2056,
"end": 2113,
"name": "ISZERO"
},
{
"begin": 2056,
"end": 2113,
"name": "ISZERO"
},
{
"begin": 2056,
"end": 2113,
"name": "PUSH [tag]",
"value": "60"
},
{
"begin": 2056,
"end": 2113,
"name": "JUMPI"
},
{
"begin": 2056,
"end": 2113,
"name": "PUSH",
"value": "0"
},
{
"begin": 2056,
"end": 2113,
"name": "DUP1"
},
{
"begin": 2056,
"end": 2113,
"name": "REVERT"
},
{
"begin": 2056,
"end": 2113,
"name": "tag",
"value": "60"
},
{
"begin": 2056,
"end": 2113,
"name": "JUMPDEST"
},
{
"begin": 2141,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2132,
"name": "PUSH",
"value": "1"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2133,
"end": 2136,
"name": "DUP7"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2124,
"end": 2137,
"name": "AND"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2124,
"end": 2137,
"name": "AND"
},
{
"begin": 2124,
"end": 2137,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2137,
"name": "MSTORE"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "20"
},
{
"begin": 2124,
"end": 2137,
"name": "ADD"
},
{
"begin": 2124,
"end": 2137,
"name": "SWAP1"
},
{
"begin": 2124,
"end": 2137,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2137,
"name": "MSTORE"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "20"
},
{
"begin": 2124,
"end": 2137,
"name": "ADD"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2124,
"end": 2137,
"name": "KECCAK256"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2147,
"name": "SLOAD"
},
{
"begin": 2124,
"end": 2147,
"name": "ADD"
},
{
"begin": 2124,
"end": 2147,
"name": "SWAP3"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2147,
"name": "SWAP1"
},
{
"begin": 2124,
"end": 2147,
"name": "SSTORE"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2177,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2166,
"name": "PUSH",
"value": "1"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2167,
"end": 2172,
"name": "DUP8"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2158,
"end": 2173,
"name": "AND"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2158,
"end": 2173,
"name": "AND"
},
{
"begin": 2158,
"end": 2173,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2173,
"name": "MSTORE"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "20"
},
{
"begin": 2158,
"end": 2173,
"name": "ADD"
},
{
"begin": 2158,
"end": 2173,
"name": "SWAP1"
},
{
"begin": 2158,
"end": 2173,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2173,
"name": "MSTORE"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "20"
},
{
"begin": 2158,
"end": 2173,
"name": "ADD"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2158,
"end": 2173,
"name": "KECCAK256"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2183,
"name": "SLOAD"
},
{
"begin": 2158,
"end": 2183,
"name": "SUB"
},
{
"begin": 2158,
"end": 2183,
"name": "SWAP3"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2183,
"name": "SWAP1"
},
{
"begin": 2158,
"end": 2183,
"name": "SSTORE"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 254,
"end": 264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2198,
"end": 2207,
"name": "DUP2"
},
{
"begin": 2198,
"end": 2221,
"name": "LT"
},
{
"begin": 2194,
"end": 2286,
"name": "ISZERO"
},
{
"begin": 2194,
"end": 2286,
"name": "PUSH [tag]",
"value": "61"
},
{
"begin": 2194,
"end": 2286,
"name": "JUMPI"
},
{
"begin": 2268,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2245,
"name": "PUSH",
"value": "2"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "0"
},
{
"begin": 2246,
"end": 2251,
"name": "DUP8"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2252,
"name": "AND"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2252,
"name": "AND"
},
{
"begin": 2238,
"end": 2252,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2252,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2252,
"name": "ADD"
},
{
"begin": 2238,
"end": 2252,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2252,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2252,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2252,
"name": "ADD"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2252,
"name": "KECCAK256"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2253,
"end": 2263,
"name": "CALLER"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2264,
"name": "AND"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2264,
"name": "AND"
},
{
"begin": 2238,
"end": 2264,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2264,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2264,
"name": "ADD"
},
{
"begin": 2238,
"end": 2264,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2264,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2264,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2264,
"name": "ADD"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2264,
"name": "KECCAK256"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2274,
"name": "SLOAD"
},
{
"begin": 2238,
"end": 2274,
"name": "SUB"
},
{
"begin": 2238,
"end": 2274,
"name": "SWAP3"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2274,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2274,
"name": "SSTORE"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2194,
"end": 2286,
"name": "tag",
"value": "61"
},
{
"begin": 2194,
"end": 2286,
"name": "JUMPDEST"
},
{
"begin": 2317,
"end": 2320,
"name": "DUP4"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2301,
"end": 2329,
"name": "AND"
},
{
"begin": 2310,
"end": 2315,
"name": "DUP6"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2301,
"end": 2329,
"name": "AND"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 2322,
"end": 2328,
"name": "DUP6"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "40"
},
{
"begin": 2301,
"end": 2329,
"name": "MLOAD"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP1"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP3"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP2"
},
{
"begin": 2301,
"end": 2329,
"name": "MSTORE"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "20"
},
{
"begin": 2301,
"end": 2329,
"name": "ADD"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP2"
},
{
"begin": 2301,
"end": 2329,
"name": "POP"
},
{
"begin": 2301,
"end": 2329,
"name": "POP"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "40"
},
{
"begin": 2301,
"end": 2329,
"name": "MLOAD"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP1"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP2"
},
{
"begin": 2301,
"end": 2329,
"name": "SUB"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP1"
},
{
"begin": 2301,
"end": 2329,
"name": "LOG3"
},
{
"begin": 2393,
"end": 2397,
"name": "PUSH",
"value": "1"
},
{
"begin": 2386,
"end": 2397,
"name": "SWAP2"
},
{
"begin": 2386,
"end": 2397,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP4"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP3"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "31"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "KECCAK256"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "SLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP2"
},
{
"begin": 271,
"end": 315,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "34"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "4"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "0"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "SLOAD"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "100"
},
{
"begin": 758,
"end": 779,
"name": "EXP"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "DIV"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "DUP2"
},
{
"begin": 758,
"end": 779,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "37"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "2"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "KECCAK256"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "KECCAK256"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "SLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2469,
"end": 2484,
"name": "PUSH",
"value": "0"
},
{
"begin": 2504,
"end": 2512,
"name": "PUSH",
"value": "1"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "0"
},
{
"begin": 2513,
"end": 2519,
"name": "DUP4"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2504,
"end": 2520,
"name": "AND"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2504,
"end": 2520,
"name": "AND"
},
{
"begin": 2504,
"end": 2520,
"name": "DUP2"
},
{
"begin": 2504,
"end": 2520,
"name": "MSTORE"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "20"
},
{
"begin": 2504,
"end": 2520,
"name": "ADD"
},
{
"begin": 2504,
"end": 2520,
"name": "SWAP1"
},
{
"begin": 2504,
"end": 2520,
"name": "DUP2"
},
{
"begin": 2504,
"end": 2520,
"name": "MSTORE"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "20"
},
{
"begin": 2504,
"end": 2520,
"name": "ADD"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "0"
},
{
"begin": 2504,
"end": 2520,
"name": "KECCAK256"
},
{
"begin": 2504,
"end": 2520,
"name": "SLOAD"
},
{
"begin": 2497,
"end": 2520,
"name": "SWAP1"
},
{
"begin": 2497,
"end": 2520,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "43"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "5"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP3"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "LT"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "64"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "64"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "0"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "0"
},
{
"begin": 830,
"end": 850,
"name": "KECCAK256"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "65"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "GT"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "65"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "50"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1620,
"end": 1632,
"name": "PUSH",
"value": "0"
},
{
"begin": 1677,
"end": 1683,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1661,
"name": "PUSH",
"value": "1"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "0"
},
{
"begin": 1662,
"end": 1672,
"name": "CALLER"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1653,
"end": 1673,
"name": "AND"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1653,
"end": 1673,
"name": "AND"
},
{
"begin": 1653,
"end": 1673,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1673,
"name": "MSTORE"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "20"
},
{
"begin": 1653,
"end": 1673,
"name": "ADD"
},
{
"begin": 1653,
"end": 1673,
"name": "SWAP1"
},
{
"begin": 1653,
"end": 1673,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1673,
"name": "MSTORE"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "20"
},
{
"begin": 1653,
"end": 1673,
"name": "ADD"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "0"
},
{
"begin": 1653,
"end": 1673,
"name": "KECCAK256"
},
{
"begin": 1653,
"end": 1673,
"name": "SLOAD"
},
{
"begin": 1653,
"end": 1683,
"name": "LT"
},
{
"begin": 1653,
"end": 1683,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "PUSH [tag]",
"value": "67"
},
{
"begin": 1645,
"end": 1684,
"name": "JUMPI"
},
{
"begin": 1645,
"end": 1684,
"name": "PUSH",
"value": "0"
},
{
"begin": 1645,
"end": 1684,
"name": "DUP1"
},
{
"begin": 1645,
"end": 1684,
"name": "REVERT"
},
{
"begin": 1645,
"end": 1684,
"name": "tag",
"value": "67"
},
{
"begin": 1645,
"end": 1684,
"name": "JUMPDEST"
},
{
"begin": 1719,
"end": 1725,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1703,
"name": "PUSH",
"value": "1"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1704,
"end": 1714,
"name": "CALLER"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1695,
"end": 1715,
"name": "AND"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1695,
"end": 1715,
"name": "AND"
},
{
"begin": 1695,
"end": 1715,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1715,
"name": "MSTORE"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "20"
},
{
"begin": 1695,
"end": 1715,
"name": "ADD"
},
{
"begin": 1695,
"end": 1715,
"name": "SWAP1"
},
{
"begin": 1695,
"end": 1715,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1715,
"name": "MSTORE"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "20"
},
{
"begin": 1695,
"end": 1715,
"name": "ADD"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1695,
"end": 1715,
"name": "KECCAK256"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP3"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP3"
},
{
"begin": 1695,
"end": 1725,
"name": "SLOAD"
},
{
"begin": 1695,
"end": 1725,
"name": "SUB"
},
{
"begin": 1695,
"end": 1725,
"name": "SWAP3"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1725,
"name": "SWAP1"
},
{
"begin": 1695,
"end": 1725,
"name": "SSTORE"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1753,
"end": 1759,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1744,
"name": "PUSH",
"value": "1"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1745,
"end": 1748,
"name": "DUP6"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1736,
"end": 1749,
"name": "AND"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1736,
"end": 1749,
"name": "AND"
},
{
"begin": 1736,
"end": 1749,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1749,
"name": "MSTORE"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "20"
},
{
"begin": 1736,
"end": 1749,
"name": "ADD"
},
{
"begin": 1736,
"end": 1749,
"name": "SWAP1"
},
{
"begin": 1736,
"end": 1749,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1749,
"name": "MSTORE"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "20"
},
{
"begin": 1736,
"end": 1749,
"name": "ADD"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1736,
"end": 1749,
"name": "KECCAK256"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP3"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP3"
},
{
"begin": 1736,
"end": 1759,
"name": "SLOAD"
},
{
"begin": 1736,
"end": 1759,
"name": "ADD"
},
{
"begin": 1736,
"end": 1759,
"name": "SWAP3"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1759,
"name": "SWAP1"
},
{
"begin": 1736,
"end": 1759,
"name": "SSTORE"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1796,
"end": 1799,
"name": "DUP3"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1775,
"end": 1808,
"name": "AND"
},
{
"begin": 1784,
"end": 1794,
"name": "CALLER"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1775,
"end": 1808,
"name": "AND"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 1801,
"end": 1807,
"name": "DUP5"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "40"
},
{
"begin": 1775,
"end": 1808,
"name": "MLOAD"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP1"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP3"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP2"
},
{
"begin": 1775,
"end": 1808,
"name": "MSTORE"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "20"
},
{
"begin": 1775,
"end": 1808,
"name": "ADD"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP2"
},
{
"begin": 1775,
"end": 1808,
"name": "POP"
},
{
"begin": 1775,
"end": 1808,
"name": "POP"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "40"
},
{
"begin": 1775,
"end": 1808,
"name": "MLOAD"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP1"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP2"
},
{
"begin": 1775,
"end": 1808,
"name": "SUB"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP1"
},
{
"begin": 1775,
"end": 1808,
"name": "LOG3"
},
{
"begin": 1872,
"end": 1876,
"name": "PUSH",
"value": "1"
},
{
"begin": 1865,
"end": 1876,
"name": "SWAP1"
},
{
"begin": 1865,
"end": 1876,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP3"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "53"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2878,
"end": 2895,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2922,
"name": "PUSH",
"value": "2"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "0"
},
{
"begin": 2923,
"end": 2929,
"name": "DUP5"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2930,
"name": "AND"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2930,
"name": "AND"
},
{
"begin": 2915,
"end": 2930,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2930,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2930,
"name": "ADD"
},
{
"begin": 2915,
"end": 2930,
"name": "SWAP1"
},
{
"begin": 2915,
"end": 2930,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2930,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2930,
"name": "ADD"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2930,
"name": "KECCAK256"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "0"
},
{
"begin": 2931,
"end": 2939,
"name": "DUP4"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2940,
"name": "AND"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2940,
"name": "AND"
},
{
"begin": 2915,
"end": 2940,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2940,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2940,
"name": "ADD"
},
{
"begin": 2915,
"end": 2940,
"name": "SWAP1"
},
{
"begin": 2915,
"end": 2940,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2940,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2940,
"name": "ADD"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2940,
"name": "KECCAK256"
},
{
"begin": 2915,
"end": 2940,
"name": "SLOAD"
},
{
"begin": 2908,
"end": 2940,
"name": "SWAP1"
},
{
"begin": 2908,
"end": 2940,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP3"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMP",
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"allowed(address,address)": "5c658165",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"balances(address)": "27e235e3",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.4.26+commit.4563c3fc\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"success\",\"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\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowed\",\"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\":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\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"},{\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"shuyao_token/shuyaoToken.sol\":\"SHUYAO\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"shuyao_token/EIP20Interface.sol\":{\"keccak256\":\"0x95715abe8c85b60efb9b460668441672944b4e8992e8469a387ea7cf68cd54d2\",\"urls\":[\"bzzr://57eea3eb504db9ade11efd8b5cc6a84c42b391f33feca158cb9d6e584583afa2\"]},\"shuyao_token/shuyaoToken.sol\":{\"keccak256\":\"0xa905ec75e7f634cf120347bf2a6994e3bd46c10b9b33816247161d983df04479\",\"urls\":[\"bzzr://43742f1dd6cbc9ef12131cab3bf12713e0577bdbef09a8fefd83fa906a675b18\"]}},\"version\":1}",
"userdoc": {
"methods": {}
}
}
}
},
"errors": [
{
"component": "general",
"formattedMessage": "shuyao_token/shuyaoToken.sol:26:5: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.\n function SHUYAO(\r\n ^ (Relevant source part starts here and spans across multiple lines).\n",
"message": "Defining constructors as functions with the same name as the contract is deprecated. Use \"constructor(...) { ... }\" instead.",
"severity": "warning",
"sourceLocation": {
"end": 1549,
"file": "shuyao_token/shuyaoToken.sol",
"start": 899
},
"type": "Warning"
}
],
"sources": {
"shuyao_token/EIP20Interface.sol": {
"ast": {
"absolutePath": "shuyao_token/EIP20Interface.sol",
"exportedSymbols": {
"EIP20Interface": [
65
]
},
"id": 66,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".21"
],
"nodeType": "PragmaDirective",
"src": "121:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 65,
"linearizedBaseContracts": [
65
],
"name": "EIP20Interface",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"name": "totalSupply",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "651:26:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "651:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@return The balance",
"id": 10,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 10,
"src": "810:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "810:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "809:16:0"
},
"payable": false,
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"name": "balance",
"nodeType": "VariableDeclaration",
"scope": 10,
"src": "847:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "847:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "846:17:0"
},
"scope": 65,
"src": "791:73:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@return Whether the transfer was successful or not",
"id": 19,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1124:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1124:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 14,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1137:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 13,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1137:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1123:29:0"
},
"payable": false,
"returnParameters": {
"id": 18,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1169:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 16,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1169:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1168:14:0"
},
"scope": 65,
"src": "1106:77:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@return Whether the transfer was successful or not",
"id": 30,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1533:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 20,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1533:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 23,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1548:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1548:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 25,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1561:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 24,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1561:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1532:44:0"
},
"payable": false,
"returnParameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 28,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1593:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 27,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1593:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1592:14:0"
},
"scope": 65,
"src": "1511:96:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@return Whether the approval was successful or not",
"id": 39,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "approve",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 35,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1919:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1919:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 34,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1937:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 33,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1937:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1918:34:0"
},
"payable": false,
"returnParameters": {
"id": 38,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 37,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1969:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 36,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1969:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1968:14:0"
},
"scope": 65,
"src": "1902:81:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@return Amount of remaining tokens allowed to spent",
"id": 48,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "allowance",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 44,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 41,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2215:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 40,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2215:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 43,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2231:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 42,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2231:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2214:34:0"
},
"payable": false,
"returnParameters": {
"id": 47,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46,
"name": "remaining",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2270:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 45,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2270:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2269:19:0"
},
"scope": 65,
"src": "2196:93:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 56,
"name": "Transfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 55,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 50,
"indexed": true,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2372:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2372:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 52,
"indexed": true,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2395:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 51,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2395:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 54,
"indexed": false,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2416:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 53,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2416:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2371:60:0"
},
"src": "2357:75:0"
},
{
"anonymous": false,
"documentation": null,
"id": 64,
"name": "Approval",
"nodeType": "EventDefinition",
"parameters": {
"id": 63,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 58,
"indexed": true,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2453:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 57,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2453:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 60,
"indexed": true,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2477:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 59,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2477:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 62,
"indexed": false,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2503:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 61,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2503:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2452:66:0"
},
"src": "2438:81:0"
}
],
"scope": 66,
"src": "149:2373:0"
}
],
"src": "121:2401:0"
},
"id": 0
},
"shuyao_token/shuyaoToken.sol": {
"ast": {
"absolutePath": "shuyao_token/shuyaoToken.sol",
"exportedSymbols": {
"SHUYAO": [
293
]
},
"id": 294,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 67,
"literals": [
"solidity",
"^",
"0.4",
".21"
],
"nodeType": "PragmaDirective",
"src": "108:24:1"
},
{
"absolutePath": "shuyao_token/EIP20Interface.sol",
"file": "./EIP20Interface.sol",
"id": 68,
"nodeType": "ImportDirective",
"scope": 294,
"sourceUnit": 66,
"src": "136:30:1",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 69,
"name": "EIP20Interface",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 65,
"src": "191:14:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_EIP20Interface_$65",
"typeString": "contract EIP20Interface"
}
},
"id": 70,
"nodeType": "InheritanceSpecifier",
"src": "191:14:1"
}
],
"contractDependencies": [
65
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 293,
"linearizedBaseContracts": [
293,
65
],
"name": "SHUYAO",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 77,
"name": "MAX_UINT256",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "215:49:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 71,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "215:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9935"
},
"id": 76,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9936"
},
"id": 74,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "32",
"id": 72,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "254:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"hexValue": "323536",
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "257:3:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_256_by_1",
"typeString": "int_const 256"
},
"value": "256"
},
"src": "254:6:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9936"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "31",
"id": 75,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "263:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "254:10:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9935"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 81,
"name": "balances",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "271:44:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
"id": 80,
"keyType": {
"id": 78,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "280:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "271:28:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 79,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "291:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 87,
"name": "allowed",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "322:64:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"typeName": {
"id": 86,
"keyType": {
"id": 82,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "331:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "322:49:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"valueType": {
"id": 85,
"keyType": {
"id": 83,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "351:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "342:28:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 84,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "362:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 89,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "686:18:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 88,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "686:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 91,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "758:21:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 90,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "758:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 93,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "830:20:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 92,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "830:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 127,
"nodeType": "Block",
"src": "1050:499:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 104,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1061:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 107,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 105,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "1070:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 106,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1070:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1061:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 108,
"name": "_initialAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 95,
"src": "1084:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1061:37:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 110,
"nodeType": "ExpressionStatement",
"src": "1061:37:1"
},
{
"expression": {
"argumentTypes": null,
"id": 113,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 111,
"name": "totalSupply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "1162:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 112,
"name": "_initialAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 95,
"src": "1176:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1162:28:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 114,
"nodeType": "ExpressionStatement",
"src": "1162:28:1"
},
{
"expression": {
"argumentTypes": null,
"id": 117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 115,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 89,
"src": "1247:4:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 116,
"name": "_tokenName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 97,
"src": "1254:10:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "1247:17:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 118,
"nodeType": "ExpressionStatement",
"src": "1247:17:1"
},
{
"expression": {
"argumentTypes": null,
"id": 121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 119,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 91,
"src": "1346:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 120,
"name": "_decimalUnits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 99,
"src": "1357:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "1346:24:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 122,
"nodeType": "ExpressionStatement",
"src": "1346:24:1"
},
{
"expression": {
"argumentTypes": null,
"id": 125,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 123,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 93,
"src": "1451:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 124,
"name": "_tokenSymbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 101,
"src": "1460:12:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "1451:21:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 126,
"nodeType": "ExpressionStatement",
"src": "1451:21:1"
}
]
},
"documentation": null,
"id": 128,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [],
"name": "SHUYAO",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 95,
"name": "_initialAmount",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "925:22:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 94,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "925:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 97,
"name": "_tokenName",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "958:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 96,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "958:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 99,
"name": "_decimalUnits",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "986:19:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 98,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "986:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 101,
"name": "_tokenSymbol",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "1016:19:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 100,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1016:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "914:128:1"
},
"payable": false,
"returnParameters": {
"id": 103,
"nodeType": "ParameterList",
"parameters": [],
"src": "1050:0:1"
},
"scope": 293,
"src": "899:650:1",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 168,
"nodeType": "Block",
"src": "1634:250:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 138,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1653:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 141,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 139,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "1662:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 140,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1662:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1653:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 142,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1677:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1653:30:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 137,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
311,
312
],
"referencedDeclaration": 311,
"src": "1645:7:1",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 144,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1645:39:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 145,
"nodeType": "ExpressionStatement",
"src": "1645:39:1"
},
{
"expression": {
"argumentTypes": null,
"id": 151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 146,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1695:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 149,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 147,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "1704:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1704:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1695:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 150,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1719:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1695:30:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 152,
"nodeType": "ExpressionStatement",
"src": "1695:30:1"
},
{
"expression": {
"argumentTypes": null,
"id": 157,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 153,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1736:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 155,
"indexExpression": {
"argumentTypes": null,
"id": 154,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 130,
"src": "1745:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1736:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"id": 156,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1753:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1736:23:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 158,
"nodeType": "ExpressionStatement",
"src": "1736:23:1"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 160,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "1784:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 161,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1784:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 162,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 130,
"src": "1796:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 163,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1801:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 159,
"name": "Transfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "1775:8:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256)"
}
},
"id": 164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1775:33:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 165,
"nodeType": "EmitStatement",
"src": "1770:38:1"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 166,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1872:4:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 136,
"id": 167,
"nodeType": "Return",
"src": "1865:11:1"
}
]
},
"documentation": null,
"id": 169,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 133,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 130,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1575:11:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 129,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1575:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 132,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1588:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 131,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1588:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1574:29:1"
},
"payable": false,
"returnParameters": {
"id": 136,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 135,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1620:12:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 134,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1620:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1619:14:1"
},
"scope": 293,
"src": "1557:327:1",
"stateMutability": "nonpayable",
"superFunction": 19,
"visibility": "public"
},
{
"body": {
"id": 235,
"nodeType": "Block",
"src": "1988:417:1",
"statements": [
{
"assignments": [
181
],
"declarations": [
{
"constant": false,
"id": 181,
"name": "allowance",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1999:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 180,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1999:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 188,
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 182,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2019:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 184,
"indexExpression": {
"argumentTypes": null,
"id": 183,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2027:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2019:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 187,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 185,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "2034:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 186,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2034:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2019:26:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1999:46:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 198,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 190,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2064:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 192,
"indexExpression": {
"argumentTypes": null,
"id": 191,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2073:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2064:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 193,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2083:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2064:25:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "&&",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 197,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 195,
"name": "allowance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 181,
"src": "2093:9:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 196,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2106:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2093:19:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "2064:48:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 189,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
311,
312
],
"referencedDeclaration": 311,
"src": "2056:7:1",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2056:57:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 200,
"nodeType": "ExpressionStatement",
"src": "2056:57:1"
},
{
"expression": {
"argumentTypes": null,
"id": 205,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 201,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2124:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 203,
"indexExpression": {
"argumentTypes": null,
"id": 202,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 173,
"src": "2133:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2124:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"id": 204,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2141:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2124:23:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 206,
"nodeType": "ExpressionStatement",
"src": "2124:23:1"
},
{
"expression": {
"argumentTypes": null,
"id": 211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 207,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2158:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 209,
"indexExpression": {
"argumentTypes": null,
"id": 208,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2167:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2158:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 210,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2177:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2158:25:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 212,
"nodeType": "ExpressionStatement",
"src": "2158:25:1"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 215,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 213,
"name": "allowance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 181,
"src": "2198:9:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 214,
"name": "MAX_UINT256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 77,
"src": "2210:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2198:23:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 226,
"nodeType": "IfStatement",
"src": "2194:92:1",
"trueBody": {
"id": 225,
"nodeType": "Block",
"src": "2223:63:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 223,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 216,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2238:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 220,
"indexExpression": {
"argumentTypes": null,
"id": 217,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2246:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2238:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 221,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 218,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "2253:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 219,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2253:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2238:26:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 222,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2268:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2238:36:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 224,
"nodeType": "ExpressionStatement",
"src": "2238:36:1"
}
]
}
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 228,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2310:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 229,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 173,
"src": "2317:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 230,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2322:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 227,
"name": "Transfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "2301:8:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256)"
}
},
"id": 231,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2301:28:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 232,
"nodeType": "EmitStatement",
"src": "2296:33:1"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 233,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2393:4:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 179,
"id": 234,
"nodeType": "Return",
"src": "2386:11:1"
}
]
},
"documentation": null,
"id": 236,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 176,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 171,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1914:13:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1914:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 173,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1929:11:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 172,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1929:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 175,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1942:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 174,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1942:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1913:44:1"
},
"payable": false,
"returnParameters": {
"id": 179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 178,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1974:12:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 177,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1974:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1973:14:1"
},
"scope": 293,
"src": "1892:513:1",
"stateMutability": "nonpayable",
"superFunction": 30,
"visibility": "public"
},
{
"body": {
"id": 247,
"nodeType": "Block",
"src": "2486:42:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 243,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2504:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 245,
"indexExpression": {
"argumentTypes": null,
"id": 244,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 238,
"src": "2513:6:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2504:16:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 242,
"id": 246,
"nodeType": "Return",
"src": "2497:23:1"
}
]
},
"documentation": null,
"id": 248,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 239,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 238,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 248,
"src": "2432:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 237,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2432:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2431:16:1"
},
"payable": false,
"returnParameters": {
"id": 242,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 241,
"name": "balance",
"nodeType": "VariableDeclaration",
"scope": 248,
"src": "2469:15:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 240,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2469:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2468:17:1"
},
"scope": 293,
"src": "2413:115:1",
"stateMutability": "view",
"superFunction": 10,
"visibility": "public"
},
{
"body": {
"id": 275,
"nodeType": "Block",
"src": "2617:179:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 264,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 257,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2628:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 261,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 258,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "2636:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 259,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2636:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2628:19:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 262,
"indexExpression": {
"argumentTypes": null,
"id": 260,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 250,
"src": "2648:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2628:29:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 263,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 252,
"src": "2660:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2628:38:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 265,
"nodeType": "ExpressionStatement",
"src": "2628:38:1"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 267,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 308,
"src": "2691:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 268,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2691:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 269,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 250,
"src": "2703:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 270,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 252,
"src": "2713:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 266,
"name": "Approval",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 64,
"src": "2682:8:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256)"
}
},
"id": 271,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2682:38:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 272,
"nodeType": "EmitStatement",
"src": "2677:43:1"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 273,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2784:4:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 256,
"id": 274,
"nodeType": "Return",
"src": "2777:11:1"
}
]
},
"documentation": null,
"id": 276,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "approve",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 253,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 250,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 276,
"src": "2553:16:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 249,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2553:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 252,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 276,
"src": "2571:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 251,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2571:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2552:34:1"
},
"payable": false,
"returnParameters": {
"id": 256,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 255,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 276,
"src": "2603:12:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 254,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2603:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2602:14:1"
},
"scope": 293,
"src": "2536:260:1",
"stateMutability": "nonpayable",
"superFunction": 39,
"visibility": "public"
},
{
"body": {
"id": 291,
"nodeType": "Block",
"src": "2897:51:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 285,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2915:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 287,
"indexExpression": {
"argumentTypes": null,
"id": 286,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 278,
"src": "2923:6:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2915:15:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 289,
"indexExpression": {
"argumentTypes": null,
"id": 288,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 280,
"src": "2931:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2915:25:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 284,
"id": 290,
"nodeType": "Return",
"src": "2908:32:1"
}
]
},
"documentation": null,
"id": 292,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "allowance",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 281,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 278,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 292,
"src": "2823:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 277,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2823:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 280,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 292,
"src": "2839:16:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 279,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2839:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2822:34:1"
},
"payable": false,
"returnParameters": {
"id": 284,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 283,
"name": "remaining",
"nodeType": "VariableDeclaration",
"scope": 292,
"src": "2878:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 282,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2878:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2877:19:1"
},
"scope": 293,
"src": "2804:144:1",
"stateMutability": "view",
"superFunction": 48,
"visibility": "public"
}
],
"scope": 294,
"src": "172:2779:1"
}
],
"src": "108:2843:1"
},
"id": 1
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "success",
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"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"
},
{
"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"
}
]
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"linkReferences": {},
"object": "6060604052341561000f57600080fd5b604051610dd1380380610dd18339810160405280805190602001909190805182019190602001805190602001909190805182019190505083600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600390805190602001906100a79291906100e3565b5081600460006101000a81548160ff021916908360ff16021790555080600590805190602001906100d99291906100e3565b5050505050610188565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012457805160ff1916838001178555610152565b82800160010185558215610152579182015b82811115610151578251825591602001919060010190610136565b5b50905061015f9190610163565b5090565b61018591905b80821115610181576000816000905550600101610169565b5090565b90565b610c3a806101976000396000f3006060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014257806318160ddd1461019c57806323b872dd146101c557806327e235e31461023e578063313ce5671461028b5780635c658165146102ba57806370a082311461032657806395d89b4114610373578063a9059cbb14610401578063dd62ed3e1461045b575b600080fd5b34156100bf57600080fd5b6100c76104c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101075780820151818401526020810190506100ec565b50505050905090810190601f1680156101345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014d57600080fd5b610182600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610565565b604051808215151515815260200191505060405180910390f35b34156101a757600080fd5b6101af610657565b6040518082815260200191505060405180910390f35b34156101d057600080fd5b610224600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061065d565b604051808215151515815260200191505060405180910390f35b341561024957600080fd5b610275600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f7565b6040518082815260200191505060405180910390f35b341561029657600080fd5b61029e61090f565b604051808260ff1660ff16815260200191505060405180910390f35b34156102c557600080fd5b610310600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610922565b6040518082815260200191505060405180910390f35b341561033157600080fd5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610947565b6040518082815260200191505060405180910390f35b341561037e57600080fd5b610386610990565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103c65780820151818401526020810190506103ab565b50505050905090810190601f1680156103f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040c57600080fd5b610441600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b604051808215151515815260200191505060405180910390f35b341561046657600080fd5b6104b1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b87565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561072e5750828110155b151561073957600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108865782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a7e57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029",
"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD1 CODESIZE SUB DUP1 PUSH2 0xDD1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP2 SWAP1 PUSH1 0x20 ADD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP2 SWAP1 POP POP DUP4 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 DUP4 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xA7 SWAP3 SWAP2 SWAP1 PUSH2 0xE3 JUMP JUMPDEST POP DUP2 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xD9 SWAP3 SWAP2 SWAP1 PUSH2 0xE3 JUMP JUMPDEST POP POP POP POP POP PUSH2 0x188 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 PUSH2 0x124 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x152 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x152 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x151 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x136 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x15F SWAP2 SWAP1 PUSH2 0x163 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x185 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x169 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xC3A DUP1 PUSH2 0x197 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x142 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x373 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x45B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC7 PUSH2 0x4C7 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 0x107 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEC JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x134 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 0x14D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x182 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 0x565 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 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AF PUSH2 0x657 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 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x224 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 0x65D 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 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x8F7 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 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E PUSH2 0x90F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x310 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 0x922 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 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x947 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 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x386 PUSH2 0x990 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 0x3C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3F3 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 0x40C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x441 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 0xA2E 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 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B1 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 0xB87 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 0x3 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 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x72E JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x886 JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA26 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA26 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 0xA09 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xA7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe5 0xbc 0xd7 DIV DUP9 CALLER 0x1e 0x4a PUSH29 0x8883CD2C9D91F66F75A8A68BD51CC8969D3C3F4C1B8C42002900000000 ",
"sourceMap": "172:2779:1:-;;;899:650;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:14;1061:8;:20;1070:10;1061:20;;;;;;;;;;;;;;;:37;;;;1176:14;1162:11;:28;;;;1254:10;1247:4;:17;;;;;;;;;;;;:::i;:::-;;1357:13;1346:8;;:24;;;;;;;;;;;;;;;;;;1460:12;1451:6;:21;;;;;;;;;;;;:::i;:::-;;899:650;;;;172:2779;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014257806318160ddd1461019c57806323b872dd146101c557806327e235e31461023e578063313ce5671461028b5780635c658165146102ba57806370a082311461032657806395d89b4114610373578063a9059cbb14610401578063dd62ed3e1461045b575b600080fd5b34156100bf57600080fd5b6100c76104c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101075780820151818401526020810190506100ec565b50505050905090810190601f1680156101345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014d57600080fd5b610182600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610565565b604051808215151515815260200191505060405180910390f35b34156101a757600080fd5b6101af610657565b6040518082815260200191505060405180910390f35b34156101d057600080fd5b610224600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061065d565b604051808215151515815260200191505060405180910390f35b341561024957600080fd5b610275600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f7565b6040518082815260200191505060405180910390f35b341561029657600080fd5b61029e61090f565b604051808260ff1660ff16815260200191505060405180910390f35b34156102c557600080fd5b610310600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610922565b6040518082815260200191505060405180910390f35b341561033157600080fd5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610947565b6040518082815260200191505060405180910390f35b341561037e57600080fd5b610386610990565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103c65780820151818401526020810190506103ab565b50505050905090810190601f1680156103f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040c57600080fd5b610441600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b604051808215151515815260200191505060405180910390f35b341561046657600080fd5b6104b1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b87565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561072e5750828110155b151561073957600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108865782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a7e57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029",
"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x142 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x373 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x45B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC7 PUSH2 0x4C7 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 0x107 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEC JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x134 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 0x14D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x182 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 0x565 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 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AF PUSH2 0x657 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 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x224 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 0x65D 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 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x8F7 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 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E PUSH2 0x90F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x310 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 0x922 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 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x947 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 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x386 PUSH2 0x990 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 0x3C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3F3 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 0x40C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x441 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 0xA2E 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 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B1 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 0xB87 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 0x3 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 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x72E JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x886 JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA26 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA26 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 0xA09 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xA7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe5 0xbc 0xd7 DIV DUP9 CALLER 0x1e 0x4a PUSH29 0x8883CD2C9D91F66F75A8A68BD51CC8969D3C3F4C1B8C42002900000000 ",
"sourceMap": "172:2779:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;686:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;651:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1892:513:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;322:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;830:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:327;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2536:260::-;2603:12;2660:6;2628:7;:19;2636:10;2628:19;;;;;;;;;;;;;;;:29;2648:8;2628:29;;;;;;;;;;;;;;;:38;;;;2703:8;2682:38;;2691:10;2682:38;;;2713:6;2682:38;;;;;;;;;;;;;;;;;;2784:4;2777:11;;2536:260;;;;:::o;651:26:0:-;;;;:::o;1892:513:1:-;1974:12;1999:17;2019:7;:14;2027:5;2019:14;;;;;;;;;;;;;;;:26;2034:10;2019:26;;;;;;;;;;;;;;;;1999:46;;2083:6;2064:8;:15;2073:5;2064:15;;;;;;;;;;;;;;;;:25;;:48;;;;;2106:6;2093:9;:19;;2064:48;2056:57;;;;;;;;2141:6;2124:8;:13;2133:3;2124:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2177:6;2158:8;:15;2167:5;2158:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;254:10;2198:9;:23;2194:92;;;2268:6;2238:7;:14;2246:5;2238:14;;;;;;;;;;;;;;;:26;2253:10;2238:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2194:92;2317:3;2301:28;;2310:5;2301:28;;;2322:6;2301:28;;;;;;;;;;;;;;;;;;2393:4;2386:11;;1892:513;;;;;;:::o;271:44::-;;;;;;;;;;;;;;;;;:::o;758:21::-;;;;;;;;;;;;;:::o;322:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2413:115::-;2469:15;2504:8;:16;2513:6;2504:16;;;;;;;;;;;;;;;;2497:23;;2413:115;;;:::o;830:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1557:327::-;1620:12;1677:6;1653:8;:20;1662:10;1653:20;;;;;;;;;;;;;;;;:30;;1645:39;;;;;;;;1719:6;1695:8;:20;1704:10;1695:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1753:6;1736:8;:13;1745:3;1736:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1796:3;1775:33;;1784:10;1775:33;;;1801:6;1775:33;;;;;;;;;;;;;;;;;;1872:4;1865:11;;1557:327;;;;:::o;2804:144::-;2878:17;2915:7;:15;2923:6;2915:15;;;;;;;;;;;;;;;:25;2931:8;2915:25;;;;;;;;;;;;;;;;2908:32;;2804:144;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "626000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "871",
"allowed(address,address)": "729",
"approve(address,uint256)": "22320",
"balanceOf(address)": "683",
"balances(address)": "590",
"decimals()": "544",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "430",
"transfer(address,uint256)": "43269",
"transferFrom(address,address,uint256)": "64036"
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"allowed(address,address)": "5c658165",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"balances(address)": "27e235e3",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "address"
}
],
"name": "allowed",
"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": 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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_initialAmount",
"type": "uint256"
},
{
"name": "_tokenName",
"type": "string"
},
{
"name": "_decimalUnits",
"type": "uint8"
},
{
"name": "_tokenSymbol",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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"
},
{
"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"
}
]
}
{
"compiler": {
"version": "0.4.21+commit.dfe3193c"
},
"language": "Solidity",
"output": {
"abi": [
{
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "address"
}
],
"name": "allowed",
"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": 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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_initialAmount",
"type": "uint256"
},
{
"name": "_tokenName",
"type": "string"
},
{
"name": "_decimalUnits",
"type": "uint8"
},
{
"name": "_tokenSymbol",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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"
},
{
"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"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"shuyao_token/shuyaoToken.sol": "SHUYAO"
},
"evmVersion": "byzantium",
"libraries": {},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"shuyao_token/EIP20Interface.sol": {
"keccak256": "0x95715abe8c85b60efb9b460668441672944b4e8992e8469a387ea7cf68cd54d2",
"urls": [
"bzzr://57eea3eb504db9ade11efd8b5cc6a84c42b391f33feca158cb9d6e584583afa2"
]
},
"shuyao_token/shuyaoToken.sol": {
"keccak256": "0xa905ec75e7f634cf120347bf2a6994e3bd46c10b9b33816247161d983df04479",
"urls": [
"bzzr://43742f1dd6cbc9ef12131cab3bf12713e0577bdbef09a8fefd83fa906a675b18"
]
}
},
"version": 1
}
// Abstract contract for the full ERC 20 Token standard
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
pragma solidity ^0.4.21;
contract EIP20Interface {
/* This is a slight change to the ERC20 base standard.
function totalSupply() constant returns (uint256 supply);
is replaced with:
uint256 public totalSupply;
This automatically creates a getter function for the totalSupply.
This is moved to the base contract since public getter functions are not
currently recognised as an implementation of the matching abstract
function by the compiler.
*/
/// total amount of tokens
uint256 public totalSupply;
/// @param _owner The address from which the balance will be retrieved
/// @return The balance
function balanceOf(address _owner) public view returns (uint256 balance);
/// @notice send `_value` token to `_to` from `msg.sender`
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transfer(address _to, uint256 _value) public returns (bool success);
/// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
/// @param _from The address of the sender
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
/// @notice `msg.sender` approves `_spender` to spend `_value` tokens
/// @param _spender The address of the account able to transfer the tokens
/// @param _value The amount of tokens to be approved for transfer
/// @return Whether the approval was successful or not
function approve(address _spender, uint256 _value) public returns (bool success);
/// @param _owner The address of the account owning tokens
/// @param _spender The address of the account able to transfer the tokens
/// @return Amount of remaining tokens allowed to spent
function allowance(address _owner, address _spender) public view returns (uint256 remaining);
// solhint-disable-next-line no-simple-event-func-name
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
This file has been truncated, but you can view the full file.
{
"id": "5fbaec6bdb9e3ed21505896bb3d3ff96",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.4.21",
"solcLongVersion": "0.4.21+commit.dfe3193c",
"input": {
"language": "Solidity",
"sources": {
"shuyao_token/shuyaoToken.sol": {
"content": "/*\r\nImplements SHUYAO token standard: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\r\n.*/\r\n\r\n\r\npragma solidity ^0.4.21;\r\n\r\nimport \"./EIP20Interface.sol\";\r\n\r\n\r\ncontract SHUYAO is EIP20Interface {\r\n\r\n uint256 constant private MAX_UINT256 = 2**256 - 1;\r\n mapping (address => uint256) public balances;\r\n mapping (address => mapping (address => uint256)) public allowed;\r\n /*\r\n NOTE:\r\n The following variables are OPTIONAL vanities. One does not have to include them.\r\n They allow one to customise the token contract & in no way influences the core functionality.\r\n Some wallets/interfaces might not even bother to look at this information.\r\n */\r\n string public name; //fancy name: eg Simon Bucks\r\n uint8 public decimals; //How many decimals to show.\r\n string public symbol; //An identifier: eg SBX\r\n\r\n function SHUYAO(\r\n uint256 _initialAmount,\r\n string _tokenName,\r\n uint8 _decimalUnits,\r\n string _tokenSymbol\r\n ) public {\r\n balances[msg.sender] = _initialAmount; // Give the creator all initial tokens\r\n totalSupply = _initialAmount; // Update total supply\r\n name = _tokenName; // Set the name for display purposes\r\n decimals = _decimalUnits; // Amount of decimals for display purposes\r\n symbol = _tokenSymbol; // Set the symbol for display purposes\r\n }\r\n\r\n function transfer(address _to, uint256 _value) public returns (bool success) {\r\n require(balances[msg.sender] >= _value);\r\n balances[msg.sender] -= _value;\r\n balances[_to] += _value;\r\n emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r\n uint256 allowance = allowed[_from][msg.sender];\r\n require(balances[_from] >= _value && allowance >= _value);\r\n balances[_to] += _value;\r\n balances[_from] -= _value;\r\n if (allowance < MAX_UINT256) {\r\n allowed[_from][msg.sender] -= _value;\r\n }\r\n emit Transfer(_from, _to, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function balanceOf(address _owner) public view returns (uint256 balance) {\r\n return balances[_owner];\r\n }\r\n\r\n function approve(address _spender, uint256 _value) public returns (bool success) {\r\n allowed[msg.sender][_spender] = _value;\r\n emit Approval(msg.sender, _spender, _value); //solhint-disable-line indent, no-unused-vars\r\n return true;\r\n }\r\n\r\n function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r\n return allowed[_owner][_spender];\r\n }\r\n}"
},
"shuyao_token/EIP20Interface.sol": {
"content": "// Abstract contract for the full ERC 20 Token standard\r\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\r\npragma solidity ^0.4.21;\r\n\r\ncontract EIP20Interface {\r\n /* This is a slight change to the ERC20 base standard.\r\n function totalSupply() constant returns (uint256 supply);\r\n is replaced with:\r\n uint256 public totalSupply;\r\n This automatically creates a getter function for the totalSupply.\r\n This is moved to the base contract since public getter functions are not\r\n currently recognised as an implementation of the matching abstract\r\n function by the compiler.\r\n */\r\n /// total amount of tokens\r\n uint256 public totalSupply;\r\n\r\n /// @param _owner The address from which the balance will be retrieved\r\n /// @return The balance\r\n function balanceOf(address _owner) public view returns (uint256 balance);\r\n\r\n /// @notice send `_value` token to `_to` from `msg.sender`\r\n /// @param _to The address of the recipient\r\n /// @param _value The amount of token to be transferred\r\n /// @return Whether the transfer was successful or not\r\n function transfer(address _to, uint256 _value) public returns (bool success);\r\n\r\n /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\r\n /// @param _from The address of the sender\r\n /// @param _to The address of the recipient\r\n /// @param _value The amount of token to be transferred\r\n /// @return Whether the transfer was successful or not\r\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);\r\n\r\n /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\r\n /// @param _spender The address of the account able to transfer the tokens\r\n /// @param _value The amount of tokens to be approved for transfer\r\n /// @return Whether the approval was successful or not\r\n function approve(address _spender, uint256 _value) public returns (bool success);\r\n\r\n /// @param _owner The address of the account owning tokens\r\n /// @param _spender The address of the account able to transfer the tokens\r\n /// @return Amount of remaining tokens allowed to spent\r\n function allowance(address _owner, address _spender) public view returns (uint256 remaining);\r\n\r\n // solhint-disable-next-line no-simple-event-func-name\r\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\r\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"shuyao_token/EIP20Interface.sol": {
"EIP20Interface": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "success",
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"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"
},
{
"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"
}
],
"devdoc": {
"methods": {
"allowance(address,address)": {
"params": {
"_owner": "The address of the account owning tokens\r",
"_spender": "The address of the account able to transfer the tokens\r"
},
"return": "Amount of remaining tokens allowed to spent\r"
},
"approve(address,uint256)": {
"params": {
"_spender": "The address of the account able to transfer the tokens\r",
"_value": "The amount of tokens to be approved for transfer\r"
},
"return": "Whether the approval was successful or not\r"
},
"balanceOf(address)": {
"params": {
"_owner": "The address from which the balance will be retrieved\r"
},
"return": "The balance\r"
},
"transfer(address,uint256)": {
"params": {
"_to": "The address of the recipient\r",
"_value": "The amount of token to be transferred\r"
},
"return": "Whether the transfer was successful or not\r"
},
"transferFrom(address,address,uint256)": {
"params": {
"_from": "The address of the sender\r",
"_to": "The address of the recipient\r",
"_value": "The amount of token to be transferred\r"
},
"return": "Whether the transfer was successful or not\r"
}
}
},
"evm": {
"assembly": "",
"bytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "",
"userdoc": {
"methods": {
"approve(address,uint256)": {
"notice": "`msg.sender` approves `_spender` to spend `_value` tokens\r"
},
"transfer(address,uint256)": {
"notice": "send `_value` token to `_to` from `msg.sender`\r"
},
"transferFrom(address,address,uint256)": {
"notice": "send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\r"
}
}
}
}
},
"shuyao_token/shuyaoToken.sol": {
"SHUYAO": {
"abi": [
{
"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": "success",
"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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "address"
}
],
"name": "allowed",
"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": 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": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "remaining",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_initialAmount",
"type": "uint256"
},
{
"name": "_tokenName",
"type": "string"
},
{
"name": "_decimalUnits",
"type": "uint8"
},
{
"name": "_tokenSymbol",
"type": "string"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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"
},
{
"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"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n mstore(0x40, 0x60)\n /* \"shuyao_token/shuyaoToken.sol\":899:1549 function SHUYAO(\r... */\n jumpi(tag_1, iszero(callvalue))\n 0x0\n dup1\n revert\ntag_1:\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n 0x40\n mstore\n dup1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n mload\n dup3\n add\n swap2\n swap1\n 0x20\n add\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n mload\n dup3\n add\n swap2\n swap1\n pop\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1084:1098 _initialAmount */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":1061:1069 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1061:1081 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1070:1080 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1061:1081 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":1061:1098 balances[msg.sender] = _initialAmount */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1176:1190 _initialAmount */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":1162:1173 totalSupply */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1162:1190 totalSupply = _initialAmount */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1254:1264 _tokenName */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":1247:1251 name */\n 0x3\n /* \"shuyao_token/shuyaoToken.sol\":1247:1264 name = _tokenName */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_4\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_4:\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1357:1370 _decimalUnits */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1346:1354 decimals */\n 0x4\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1346:1370 decimals = _decimalUnits */\n 0x100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n 0xff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1460:1472 _tokenSymbol */\n dup1\n /* \"shuyao_token/shuyaoToken.sol\":1451:1457 symbol */\n 0x5\n /* \"shuyao_token/shuyaoToken.sol\":1451:1472 symbol = _tokenSymbol */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_6\n swap3\n swap2\n swap1\n jump\t// in(tag_5)\ntag_6:\n pop\n /* \"shuyao_token/shuyaoToken.sol\":899:1549 function SHUYAO(\r... */\n pop\n pop\n pop\n pop\n /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n jump(tag_7)\ntag_5:\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_8)\ntag_9:\n dup3\n dup1\n add\n 0x1\n add\n dup6\n sstore\n dup3\n iszero\n tag_8\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x1\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_8:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n jump\t// in(tag_13)\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\n tag_14\n swap2\n swap1\ntag_15:\n dup1\n dup3\n gt\n iszero\n tag_16\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_15)\ntag_16:\n pop\n swap1\n jump\ntag_14:\n swap1\n jump\t// out\ntag_7:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"shuyao_token/shuyaoToken.sol\":172:2951 contract SHUYAO is EIP20Interface {\r... */\n mstore(0x40, 0x60)\n jumpi(tag_1, lt(calldatasize, 0x4))\n calldataload(0x0)\n 0x100000000000000000000000000000000000000000000000000000000\n swap1\n div\n 0xffffffff\n and\n dup1\n 0x6fdde03\n eq\n tag_2\n jumpi\n dup1\n 0x95ea7b3\n eq\n tag_3\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_4\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_5\n jumpi\n dup1\n 0x27e235e3\n eq\n tag_6\n jumpi\n dup1\n 0x313ce567\n eq\n tag_7\n jumpi\n dup1\n 0x5c658165\n eq\n tag_8\n jumpi\n dup1\n 0x70a08231\n eq\n tag_9\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_10\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_11\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_12\n jumpi\n tag_1:\n 0x0\n dup1\n revert\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n tag_2:\n jumpi(tag_13, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_13:\n tag_14\n jump(tag_15)\n tag_14:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_16:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_17\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_16)\n tag_17:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_19\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_19:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n tag_3:\n jumpi(tag_20, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_20:\n tag_21\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_22)\n tag_21:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/EIP20Interface.sol\":651:677 uint256 public totalSupply */\n tag_4:\n jumpi(tag_23, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_23:\n tag_24\n jump(tag_25)\n tag_24:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n tag_5:\n jumpi(tag_26, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_26:\n tag_27\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_28)\n tag_27:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":271:315 mapping (address => uint256) public balances */\n tag_6:\n jumpi(tag_29, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_29:\n tag_30\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_31)\n tag_30:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":758:779 uint8 public decimals */\n tag_7:\n jumpi(tag_32, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_32:\n tag_33\n jump(tag_34)\n tag_33:\n mload(0x40)\n dup1\n dup3\n 0xff\n and\n 0xff\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":322:386 mapping (address => mapping (address => uint256)) public allowed */\n tag_8:\n jumpi(tag_35, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_35:\n tag_36\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_37)\n tag_36:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n tag_9:\n jumpi(tag_38, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_38:\n tag_39\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_40)\n tag_39:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n tag_10:\n jumpi(tag_41, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_41:\n tag_42\n jump(tag_43)\n tag_42:\n mload(0x40)\n dup1\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x0\n /* \"--CODEGEN--\":8:108 */\n tag_44:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_45\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_44)\n tag_45:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_47\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x1\n dup4\n 0x20\n sub\n 0x100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_47:\n pop\n swap3\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n tag_11:\n jumpi(tag_48, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_48:\n tag_49\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_50)\n tag_49:\n mload(0x40)\n dup1\n dup3\n iszero\n iszero\n iszero\n iszero\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n tag_12:\n jumpi(tag_51, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_51:\n tag_52\n 0x4\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_53)\n tag_52:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"shuyao_token/shuyaoToken.sol\":686:704 string public name */\n tag_15:\n 0x3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_54\n jumpi\n dup1\n 0x1f\n lt\n tag_55\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_54)\n tag_55:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_56:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_56\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_54:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n tag_22:\n /* \"shuyao_token/shuyaoToken.sol\":2603:2615 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2660:2666 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2628:2635 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2628:2647 allowed[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2636:2646 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2628:2647 allowed[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2628:2657 allowed[msg.sender][_spender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2648:2656 _spender */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2628:2657 allowed[msg.sender][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2628:2666 allowed[msg.sender][_spender] = _value */\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2703:2711 _spender */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":2691:2701 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n /* \"shuyao_token/shuyaoToken.sol\":2713:2719 _value */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":2682:2720 Approval(msg.sender, _spender, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":2784:2788 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2777:2788 return true */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2536:2796 function approve(address _spender, uint256 _value) public returns (bool success) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"shuyao_token/EIP20Interface.sol\":651:677 uint256 public totalSupply */\n tag_25:\n sload(0x0)\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n tag_28:\n /* \"shuyao_token/shuyaoToken.sol\":1974:1986 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1999:2016 uint256 allowance */\n dup1\n /* \"shuyao_token/shuyaoToken.sol\":2019:2026 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2019:2033 allowed[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2027:2032 _from */\n dup7\n /* \"shuyao_token/shuyaoToken.sol\":2019:2033 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2019:2045 allowed[_from][msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2034:2044 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2019:2045 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":1999:2045 uint256 allowance = allowed[_from][msg.sender] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2083:2089 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2064:2072 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2064:2079 balances[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2073:2078 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2064:2079 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2064:2089 balances[_from] >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":2064:2112 balances[_from] >= _value && allowance >= _value */\n dup1\n iszero\n tag_59\n jumpi\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2106:2112 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2093:2102 allowance */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2093:2112 allowance >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":2064:2112 balances[_from] >= _value && allowance >= _value */\n tag_59:\n /* \"shuyao_token/shuyaoToken.sol\":2056:2113 require(balances[_from] >= _value && allowance >= _value) */\n iszero\n iszero\n tag_60\n jumpi\n 0x0\n dup1\n revert\n tag_60:\n /* \"shuyao_token/shuyaoToken.sol\":2141:2147 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2124:2132 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2124:2137 balances[_to] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2133:2136 _to */\n dup7\n /* \"shuyao_token/shuyaoToken.sol\":2124:2137 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2124:2147 balances[_to] += _value */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2177:2183 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2158:2166 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2158:2173 balances[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2167:2172 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2158:2173 balances[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2158:2183 balances[_from] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":254:264 2**256 - 1 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"shuyao_token/shuyaoToken.sol\":2198:2207 allowance */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":2198:2221 allowance < MAX_UINT256 */\n lt\n /* \"shuyao_token/shuyaoToken.sol\":2194:2286 if (allowance < MAX_UINT256) {\r... */\n iszero\n tag_61\n jumpi\n /* \"shuyao_token/shuyaoToken.sol\":2268:2274 _value */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":2238:2245 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2238:2252 allowed[_from] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2246:2251 _from */\n dup8\n /* \"shuyao_token/shuyaoToken.sol\":2238:2252 allowed[_from] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2238:2264 allowed[_from][msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2253:2263 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":2238:2264 allowed[_from][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2238:2274 allowed[_from][msg.sender] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2194:2286 if (allowance < MAX_UINT256) {\r... */\n tag_61:\n /* \"shuyao_token/shuyaoToken.sol\":2317:2320 _to */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":2310:2315 _from */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"shuyao_token/shuyaoToken.sol\":2322:2328 _value */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":2301:2329 Transfer(_from, _to, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":2393:2397 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2386:2397 return true */\n swap2\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1892:2405 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r... */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":271:315 mapping (address => uint256) public balances */\n tag_31:\n mstore(0x20, 0x1)\n dup1\n 0x0\n mstore\n keccak256(0x0, 0x40)\n 0x0\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":758:779 uint8 public decimals */\n tag_34:\n 0x4\n 0x0\n swap1\n sload\n swap1\n 0x100\n exp\n swap1\n div\n 0xff\n and\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":322:386 mapping (address => mapping (address => uint256)) public allowed */\n tag_37:\n mstore(0x20, 0x2)\n dup2\n 0x0\n mstore\n mstore(0x20, keccak256(0x0, 0x40))\n dup1\n 0x0\n mstore\n keccak256(0x0, 0x40)\n 0x0\n swap2\n pop\n swap2\n pop\n pop\n sload\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n tag_40:\n /* \"shuyao_token/shuyaoToken.sol\":2469:2484 uint256 balance */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2504:2512 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":2504:2520 balances[_owner] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2513:2519 _owner */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2504:2520 balances[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2497:2520 return balances[_owner] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2413:2528 function balanceOf(address _owner) public view returns (uint256 balance) {\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":830:850 string public symbol */\n tag_43:\n 0x5\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x1\n dup2\n 0x1\n and\n iszero\n 0x100\n mul\n sub\n and\n 0x2\n swap1\n div\n dup1\n iszero\n tag_63\n jumpi\n dup1\n 0x1f\n lt\n tag_64\n jumpi\n 0x100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_63)\n tag_64:\n dup3\n add\n swap2\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n tag_65:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x1\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_65\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_63:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n tag_50:\n /* \"shuyao_token/shuyaoToken.sol\":1620:1632 bool success */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1677:1683 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1653:1661 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1653:1673 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1662:1672 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1653:1673 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":1653:1683 balances[msg.sender] >= _value */\n lt\n iszero\n /* \"shuyao_token/shuyaoToken.sol\":1645:1684 require(balances[msg.sender] >= _value) */\n iszero\n iszero\n tag_67\n jumpi\n 0x0\n dup1\n revert\n tag_67:\n /* \"shuyao_token/shuyaoToken.sol\":1719:1725 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1695:1703 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1695:1715 balances[msg.sender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1704:1714 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1695:1715 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1695:1725 balances[msg.sender] -= _value */\n dup3\n dup3\n sload\n sub\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1753:1759 _value */\n dup2\n /* \"shuyao_token/shuyaoToken.sol\":1736:1744 balances */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1736:1749 balances[_to] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1745:1748 _to */\n dup6\n /* \"shuyao_token/shuyaoToken.sol\":1736:1749 balances[_to] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":1736:1759 balances[_to] += _value */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1796:1799 _to */\n dup3\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"shuyao_token/shuyaoToken.sol\":1784:1794 msg.sender */\n caller\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"shuyao_token/shuyaoToken.sol\":1801:1807 _value */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":1775:1808 Transfer(msg.sender, _to, _value) */\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"shuyao_token/shuyaoToken.sol\":1872:1876 true */\n 0x1\n /* \"shuyao_token/shuyaoToken.sol\":1865:1876 return true */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":1557:1884 function transfer(address _to, uint256 _value) public returns (bool success) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n tag_53:\n /* \"shuyao_token/shuyaoToken.sol\":2878:2895 uint256 remaining */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2915:2922 allowed */\n 0x2\n /* \"shuyao_token/shuyaoToken.sol\":2915:2930 allowed[_owner] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2923:2929 _owner */\n dup5\n /* \"shuyao_token/shuyaoToken.sol\":2915:2930 allowed[_owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n /* \"shuyao_token/shuyaoToken.sol\":2915:2940 allowed[_owner][_spender] */\n 0x0\n /* \"shuyao_token/shuyaoToken.sol\":2931:2939 _spender */\n dup4\n /* \"shuyao_token/shuyaoToken.sol\":2915:2940 allowed[_owner][_spender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x0\n keccak256\n sload\n /* \"shuyao_token/shuyaoToken.sol\":2908:2940 return allowed[_owner][_spender] */\n swap1\n pop\n /* \"shuyao_token/shuyaoToken.sol\":2804:2948 function allowance(address _owner, address _spender) public view returns (uint256 remaining) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029\n}\n",
"bytecode": {
"linkReferences": {},
"object": "6060604052341561000f57600080fd5b604051610dd1380380610dd18339810160405280805190602001909190805182019190602001805190602001909190805182019190505083600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600390805190602001906100a79291906100e3565b5081600460006101000a81548160ff021916908360ff16021790555080600590805190602001906100d99291906100e3565b5050505050610188565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012457805160ff1916838001178555610152565b82800160010185558215610152579182015b82811115610151578251825591602001919060010190610136565b5b50905061015f9190610163565b5090565b61018591905b80821115610181576000816000905550600101610169565b5090565b90565b610c3a806101976000396000f3006060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014257806318160ddd1461019c57806323b872dd146101c557806327e235e31461023e578063313ce5671461028b5780635c658165146102ba57806370a082311461032657806395d89b4114610373578063a9059cbb14610401578063dd62ed3e1461045b575b600080fd5b34156100bf57600080fd5b6100c76104c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101075780820151818401526020810190506100ec565b50505050905090810190601f1680156101345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014d57600080fd5b610182600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610565565b604051808215151515815260200191505060405180910390f35b34156101a757600080fd5b6101af610657565b6040518082815260200191505060405180910390f35b34156101d057600080fd5b610224600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061065d565b604051808215151515815260200191505060405180910390f35b341561024957600080fd5b610275600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f7565b6040518082815260200191505060405180910390f35b341561029657600080fd5b61029e61090f565b604051808260ff1660ff16815260200191505060405180910390f35b34156102c557600080fd5b610310600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610922565b6040518082815260200191505060405180910390f35b341561033157600080fd5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610947565b6040518082815260200191505060405180910390f35b341561037e57600080fd5b610386610990565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103c65780820151818401526020810190506103ab565b50505050905090810190601f1680156103f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040c57600080fd5b610441600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b604051808215151515815260200191505060405180910390f35b341561046657600080fd5b6104b1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b87565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561072e5750828110155b151561073957600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108865782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a7e57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029",
"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD1 CODESIZE SUB DUP1 PUSH2 0xDD1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP2 SWAP1 PUSH1 0x20 ADD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD DUP3 ADD SWAP2 SWAP1 POP POP DUP4 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 DUP4 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xA7 SWAP3 SWAP2 SWAP1 PUSH2 0xE3 JUMP JUMPDEST POP DUP2 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xD9 SWAP3 SWAP2 SWAP1 PUSH2 0xE3 JUMP JUMPDEST POP POP POP POP POP PUSH2 0x188 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 PUSH2 0x124 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x152 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x152 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x151 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x136 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x15F SWAP2 SWAP1 PUSH2 0x163 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x185 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x169 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xC3A DUP1 PUSH2 0x197 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x142 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x373 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x45B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC7 PUSH2 0x4C7 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 0x107 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEC JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x134 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 0x14D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x182 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 0x565 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 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AF PUSH2 0x657 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 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x224 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 0x65D 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 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x8F7 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 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E PUSH2 0x90F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x310 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 0x922 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 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x947 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 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x386 PUSH2 0x990 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 0x3C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3F3 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 0x40C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x441 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 0xA2E 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 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B1 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 0xB87 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 0x3 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 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x72E JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x886 JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA26 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA26 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 0xA09 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xA7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe5 0xbc 0xd7 DIV DUP9 CALLER 0x1e 0x4a PUSH29 0x8883CD2C9D91F66F75A8A68BD51CC8969D3C3F4C1B8C42002900000000 ",
"sourceMap": "172:2779:1:-;;;899:650;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:14;1061:8;:20;1070:10;1061:20;;;;;;;;;;;;;;;:37;;;;1176:14;1162:11;:28;;;;1254:10;1247:4;:17;;;;;;;;;;;;:::i;:::-;;1357:13;1346:8;;:24;;;;;;;;;;;;;;;;;;1460:12;1451:6;:21;;;;;;;;;;;;:::i;:::-;;899:650;;;;172:2779;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b4578063095ea7b31461014257806318160ddd1461019c57806323b872dd146101c557806327e235e31461023e578063313ce5671461028b5780635c658165146102ba57806370a082311461032657806395d89b4114610373578063a9059cbb14610401578063dd62ed3e1461045b575b600080fd5b34156100bf57600080fd5b6100c76104c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101075780820151818401526020810190506100ec565b50505050905090810190601f1680156101345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014d57600080fd5b610182600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610565565b604051808215151515815260200191505060405180910390f35b34156101a757600080fd5b6101af610657565b6040518082815260200191505060405180910390f35b34156101d057600080fd5b610224600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061065d565b604051808215151515815260200191505060405180910390f35b341561024957600080fd5b610275600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f7565b6040518082815260200191505060405180910390f35b341561029657600080fd5b61029e61090f565b604051808260ff1660ff16815260200191505060405180910390f35b34156102c557600080fd5b610310600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610922565b6040518082815260200191505060405180910390f35b341561033157600080fd5b61035d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610947565b6040518082815260200191505060405180910390f35b341561037e57600080fd5b610386610990565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103c65780820151818401526020810190506103ab565b50505050905090810190601f1680156103f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040c57600080fd5b610441600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a2e565b604051808215151515815260200191505060405180910390f35b341561046657600080fd5b6104b1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b87565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561072e5750828110155b151561073957600080fd5b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108865782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60016020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b6002602052816000526040600020602052806000526040600020600091509150505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a7e57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029",
"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xAF JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x142 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x23E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0x5C658165 EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x373 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x45B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC7 PUSH2 0x4C7 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 0x107 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEC JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x134 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 0x14D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x182 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 0x565 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 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AF PUSH2 0x657 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 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x224 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 0x65D 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 0x249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x275 PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x8F7 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 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E PUSH2 0x90F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x310 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 0x922 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 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35D PUSH1 0x4 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x947 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 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x386 PUSH2 0x990 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 0x3C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3F3 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 0x40C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x441 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 0xA2E 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 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4B1 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 0xB87 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 0x3 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 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 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 DUP1 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 SLOAD SWAP1 POP 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 LT ISZERO DUP1 ISZERO PUSH2 0x72E JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x886 JUMPI 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 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 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP 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 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 0xA26 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA26 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 0xA09 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 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 LT ISZERO ISZERO ISZERO PUSH2 0xA7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 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 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP 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 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 STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe5 0xbc 0xd7 DIV DUP9 CALLER 0x1e 0x4a PUSH29 0x8883CD2C9D91F66F75A8A68BD51CC8969D3C3F4C1B8C42002900000000 ",
"sourceMap": "172:2779:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;686:18:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;651:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1892:513:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;322:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;830:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:327;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2536:260::-;2603:12;2660:6;2628:7;:19;2636:10;2628:19;;;;;;;;;;;;;;;:29;2648:8;2628:29;;;;;;;;;;;;;;;:38;;;;2703:8;2682:38;;2691:10;2682:38;;;2713:6;2682:38;;;;;;;;;;;;;;;;;;2784:4;2777:11;;2536:260;;;;:::o;651:26:0:-;;;;:::o;1892:513:1:-;1974:12;1999:17;2019:7;:14;2027:5;2019:14;;;;;;;;;;;;;;;:26;2034:10;2019:26;;;;;;;;;;;;;;;;1999:46;;2083:6;2064:8;:15;2073:5;2064:15;;;;;;;;;;;;;;;;:25;;:48;;;;;2106:6;2093:9;:19;;2064:48;2056:57;;;;;;;;2141:6;2124:8;:13;2133:3;2124:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2177:6;2158:8;:15;2167:5;2158:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;254:10;2198:9;:23;2194:92;;;2268:6;2238:7;:14;2246:5;2238:14;;;;;;;;;;;;;;;:26;2253:10;2238:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2194:92;2317:3;2301:28;;2310:5;2301:28;;;2322:6;2301:28;;;;;;;;;;;;;;;;;;2393:4;2386:11;;1892:513;;;;;;:::o;271:44::-;;;;;;;;;;;;;;;;;:::o;758:21::-;;;;;;;;;;;;;:::o;322:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2413:115::-;2469:15;2504:8;:16;2513:6;2504:16;;;;;;;;;;;;;;;;2497:23;;2413:115;;;:::o;830:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1557:327::-;1620:12;1677:6;1653:8;:20;1662:10;1653:20;;;;;;;;;;;;;;;;:30;;1645:39;;;;;;;;1719:6;1695:8;:20;1704:10;1695:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1753:6;1736:8;:13;1745:3;1736:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1796:3;1775:33;;1784:10;1775:33;;;1801:6;1775:33;;;;;;;;;;;;;;;;;;1872:4;1865:11;;1557:327;;;;:::o;2804:144::-;2878:17;2915:7;:15;2923:6;2915:15;;;;;;;;;;;;;;;:25;2931:8;2915:25;;;;;;;;;;;;;;;;2908:32;;2804:144;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "626000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "871",
"allowed(address,address)": "729",
"approve(address,uint256)": "22320",
"balanceOf(address)": "683",
"balances(address)": "590",
"decimals()": "544",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "430",
"transfer(address,uint256)": "43269",
"transferFrom(address,address,uint256)": "64036"
}
},
"legacyAssembly": {
".code": [
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "60"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "40"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 899,
"end": 1549,
"name": "CALLVALUE"
},
{
"begin": 899,
"end": 1549,
"name": "ISZERO"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 899,
"end": 1549,
"name": "JUMPI"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "0"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "REVERT"
},
{
"begin": 899,
"end": 1549,
"name": "tag",
"value": "1"
},
{
"begin": 899,
"end": 1549,
"name": "JUMPDEST"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "40"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "PUSHSIZE"
},
{
"begin": 899,
"end": 1549,
"name": "CODESIZE"
},
{
"begin": 899,
"end": 1549,
"name": "SUB"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSHSIZE"
},
{
"begin": 899,
"end": 1549,
"name": "DUP4"
},
{
"begin": 899,
"end": 1549,
"name": "CODECOPY"
},
{
"begin": 899,
"end": 1549,
"name": "DUP2"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "40"
},
{
"begin": 899,
"end": 1549,
"name": "MSTORE"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP3"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "PUSH",
"value": "20"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "DUP1"
},
{
"begin": 899,
"end": 1549,
"name": "MLOAD"
},
{
"begin": 899,
"end": 1549,
"name": "DUP3"
},
{
"begin": 899,
"end": 1549,
"name": "ADD"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP2"
},
{
"begin": 899,
"end": 1549,
"name": "SWAP1"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 1084,
"end": 1098,
"name": "DUP4"
},
{
"begin": 1061,
"end": 1069,
"name": "PUSH",
"value": "1"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "0"
},
{
"begin": 1070,
"end": 1080,
"name": "CALLER"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1081,
"name": "AND"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1061,
"end": 1081,
"name": "AND"
},
{
"begin": 1061,
"end": 1081,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1081,
"name": "MSTORE"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "20"
},
{
"begin": 1061,
"end": 1081,
"name": "ADD"
},
{
"begin": 1061,
"end": 1081,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1081,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1081,
"name": "MSTORE"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "20"
},
{
"begin": 1061,
"end": 1081,
"name": "ADD"
},
{
"begin": 1061,
"end": 1081,
"name": "PUSH",
"value": "0"
},
{
"begin": 1061,
"end": 1081,
"name": "KECCAK256"
},
{
"begin": 1061,
"end": 1098,
"name": "DUP2"
},
{
"begin": 1061,
"end": 1098,
"name": "SWAP1"
},
{
"begin": 1061,
"end": 1098,
"name": "SSTORE"
},
{
"begin": 1061,
"end": 1098,
"name": "POP"
},
{
"begin": 1176,
"end": 1190,
"name": "DUP4"
},
{
"begin": 1162,
"end": 1173,
"name": "PUSH",
"value": "0"
},
{
"begin": 1162,
"end": 1190,
"name": "DUP2"
},
{
"begin": 1162,
"end": 1190,
"name": "SWAP1"
},
{
"begin": 1162,
"end": 1190,
"name": "SSTORE"
},
{
"begin": 1162,
"end": 1190,
"name": "POP"
},
{
"begin": 1254,
"end": 1264,
"name": "DUP3"
},
{
"begin": 1247,
"end": 1251,
"name": "PUSH",
"value": "3"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "DUP1"
},
{
"begin": 1247,
"end": 1264,
"name": "MLOAD"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH",
"value": "20"
},
{
"begin": 1247,
"end": 1264,
"name": "ADD"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP3"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP2"
},
{
"begin": 1247,
"end": 1264,
"name": "SWAP1"
},
{
"begin": 1247,
"end": 1264,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 1247,
"end": 1264,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1247,
"end": 1264,
"name": "tag",
"value": "4"
},
{
"begin": 1247,
"end": 1264,
"name": "JUMPDEST"
},
{
"begin": 1247,
"end": 1264,
"name": "POP"
},
{
"begin": 1357,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1354,
"name": "PUSH",
"value": "4"
},
{
"begin": 1346,
"end": 1354,
"name": "PUSH",
"value": "0"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "100"
},
{
"begin": 1346,
"end": 1370,
"name": "EXP"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1370,
"name": "SLOAD"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP2"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "FF"
},
{
"begin": 1346,
"end": 1370,
"name": "MUL"
},
{
"begin": 1346,
"end": 1370,
"name": "NOT"
},
{
"begin": 1346,
"end": 1370,
"name": "AND"
},
{
"begin": 1346,
"end": 1370,
"name": "SWAP1"
},
{
"begin": 1346,
"end": 1370,
"name": "DUP4"
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH",
"value": "FF"
},
{
"begin": 1346,
"end": 1370,
"name": "AND"
},
{
"begin": 1346,
"end": 1370,
"name": "MUL"
},
{
"begin": 1346,
"end": 1370,
"name": "OR"
},
{
"begin": 1346,
"end": 1370,
"name": "SWAP1"
},
{
"begin": 1346,
"end": 1370,
"name": "SSTORE"
},
{
"begin": 1346,
"end": 1370,
"name": "POP"
},
{
"begin": 1460,
"end": 1472,
"name": "DUP1"
},
{
"begin": 1451,
"end": 1457,
"name": "PUSH",
"value": "5"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "DUP1"
},
{
"begin": 1451,
"end": 1472,
"name": "MLOAD"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH",
"value": "20"
},
{
"begin": 1451,
"end": 1472,
"name": "ADD"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP3"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP2"
},
{
"begin": 1451,
"end": 1472,
"name": "SWAP1"
},
{
"begin": 1451,
"end": 1472,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 1451,
"end": 1472,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 1451,
"end": 1472,
"name": "tag",
"value": "6"
},
{
"begin": 1451,
"end": 1472,
"name": "JUMPDEST"
},
{
"begin": 1451,
"end": 1472,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 899,
"end": 1549,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "5"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "SLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "100"
},
{
"begin": 172,
"end": 2951,
"name": "MUL"
},
{
"begin": 172,
"end": 2951,
"name": "SUB"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "KECCAK256"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1F"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1F"
},
{
"begin": 172,
"end": 2951,
"name": "LT"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "MLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "FF"
},
{
"begin": 172,
"end": 2951,
"name": "NOT"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "DUP4"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "OR"
},
{
"begin": 172,
"end": 2951,
"name": "DUP6"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "DUP6"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "GT"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "MLOAD"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "20"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "13"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP2"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "15"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "DUP3"
},
{
"begin": 172,
"end": 2951,
"name": "GT"
},
{
"begin": 172,
"end": 2951,
"name": "ISZERO"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "DUP2"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "SSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "ADD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "16"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "POP"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "14"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "CODECOPY"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a165627a7a72305820e5bcd70488331e4a7c8883cd2c9d91f66f75a8a68bd51cc8969d3c3f4c1b8c420029",
".code": [
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "60"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "40"
},
{
"begin": 172,
"end": 2951,
"name": "MSTORE"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "4"
},
{
"begin": 172,
"end": 2951,
"name": "CALLDATASIZE"
},
{
"begin": 172,
"end": 2951,
"name": "LT"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "CALLDATALOAD"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 172,
"end": 2951,
"name": "SWAP1"
},
{
"begin": 172,
"end": 2951,
"name": "DIV"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "FFFFFFFF"
},
{
"begin": 172,
"end": 2951,
"name": "AND"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "6FDDE03"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "95EA7B3"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "18160DDD"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "23B872DD"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "27E235E3"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "313CE567"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "5C658165"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "70A08231"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "95D89B41"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "A9059CBB"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "DD62ED3E"
},
{
"begin": 172,
"end": 2951,
"name": "EQ"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPI"
},
{
"begin": 172,
"end": 2951,
"name": "tag",
"value": "1"
},
{
"begin": 172,
"end": 2951,
"name": "JUMPDEST"
},
{
"begin": 172,
"end": 2951,
"name": "PUSH",
"value": "0"
},
{
"begin": 172,
"end": 2951,
"name": "DUP1"
},
{
"begin": 172,
"end": 2951,
"name": "REVERT"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "CALLVALUE"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "0"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "REVERT"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "13"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 686,
"end": 704,
"name": "JUMP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "14"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "16"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "17"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "EXP"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "NOT"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "19"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "SWAP3"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "RETURN"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "3"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLVALUE"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPI"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "0"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "REVERT"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "4"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLDATALOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2536,
"end": 2796,
"name": "AND"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "CALLDATALOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMP"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "21"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "40"
},
{
"begin": 2536,
"end": 2796,
"name": "MLOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP3"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "ISZERO"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP2"
},
{
"begin": 2536,
"end": 2796,
"name": "MSTORE"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "20"
},
{
"begin": 2536,
"end": 2796,
"name": "ADD"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "PUSH",
"value": "40"
},
{
"begin": 2536,
"end": 2796,
"name": "MLOAD"
},
{
"begin": 2536,
"end": 2796,
"name": "DUP1"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "SUB"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP1"
},
{
"begin": 2536,
"end": 2796,
"name": "RETURN"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "4"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "CALLVALUE"
},
{
"begin": 651,
"end": 677,
"name": "ISZERO"
},
{
"begin": 651,
"end": 677,
"name": "PUSH [tag]",
"value": "23"
},
{
"begin": 651,
"end": 677,
"name": "JUMPI"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "0"
},
{
"begin": 651,
"end": 677,
"name": "DUP1"
},
{
"begin": 651,
"end": 677,
"name": "REVERT"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "23"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "PUSH [tag]",
"value": "24"
},
{
"begin": 651,
"end": 677,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 651,
"end": 677,
"name": "JUMP"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "24"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "40"
},
{
"begin": 651,
"end": 677,
"name": "MLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP1"
},
{
"begin": 651,
"end": 677,
"name": "DUP3"
},
{
"begin": 651,
"end": 677,
"name": "DUP2"
},
{
"begin": 651,
"end": 677,
"name": "MSTORE"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "20"
},
{
"begin": 651,
"end": 677,
"name": "ADD"
},
{
"begin": 651,
"end": 677,
"name": "SWAP2"
},
{
"begin": 651,
"end": 677,
"name": "POP"
},
{
"begin": 651,
"end": 677,
"name": "POP"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "40"
},
{
"begin": 651,
"end": 677,
"name": "MLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP1"
},
{
"begin": 651,
"end": 677,
"name": "SWAP2"
},
{
"begin": 651,
"end": 677,
"name": "SUB"
},
{
"begin": 651,
"end": 677,
"name": "SWAP1"
},
{
"begin": 651,
"end": 677,
"name": "RETURN"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "5"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLVALUE"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH [tag]",
"value": "26"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPI"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "0"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "REVERT"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "26"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "4"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1892,
"end": 2405,
"name": "AND"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1892,
"end": 2405,
"name": "AND"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "CALLDATALOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMP"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "27"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "40"
},
{
"begin": 1892,
"end": 2405,
"name": "MLOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP3"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "ISZERO"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP2"
},
{
"begin": 1892,
"end": 2405,
"name": "MSTORE"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "20"
},
{
"begin": 1892,
"end": 2405,
"name": "ADD"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "PUSH",
"value": "40"
},
{
"begin": 1892,
"end": 2405,
"name": "MLOAD"
},
{
"begin": 1892,
"end": 2405,
"name": "DUP1"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP2"
},
{
"begin": 1892,
"end": 2405,
"name": "SUB"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP1"
},
{
"begin": 1892,
"end": 2405,
"name": "RETURN"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "6"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "CALLVALUE"
},
{
"begin": 271,
"end": 315,
"name": "ISZERO"
},
{
"begin": 271,
"end": 315,
"name": "PUSH [tag]",
"value": "29"
},
{
"begin": 271,
"end": 315,
"name": "JUMPI"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "REVERT"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "29"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "4"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "CALLDATALOAD"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 271,
"end": 315,
"name": "AND"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "ADD"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 271,
"end": 315,
"name": "JUMP"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "30"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "MLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "DUP3"
},
{
"begin": 271,
"end": 315,
"name": "DUP2"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "ADD"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "MLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "SUB"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "RETURN"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "7"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "CALLVALUE"
},
{
"begin": 758,
"end": 779,
"name": "ISZERO"
},
{
"begin": 758,
"end": 779,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 758,
"end": 779,
"name": "JUMPI"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "0"
},
{
"begin": 758,
"end": 779,
"name": "DUP1"
},
{
"begin": 758,
"end": 779,
"name": "REVERT"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "32"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "PUSH [tag]",
"value": "33"
},
{
"begin": 758,
"end": 779,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 758,
"end": 779,
"name": "JUMP"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "33"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "40"
},
{
"begin": 758,
"end": 779,
"name": "MLOAD"
},
{
"begin": 758,
"end": 779,
"name": "DUP1"
},
{
"begin": 758,
"end": 779,
"name": "DUP3"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "DUP2"
},
{
"begin": 758,
"end": 779,
"name": "MSTORE"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "20"
},
{
"begin": 758,
"end": 779,
"name": "ADD"
},
{
"begin": 758,
"end": 779,
"name": "SWAP2"
},
{
"begin": 758,
"end": 779,
"name": "POP"
},
{
"begin": 758,
"end": 779,
"name": "POP"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "40"
},
{
"begin": 758,
"end": 779,
"name": "MLOAD"
},
{
"begin": 758,
"end": 779,
"name": "DUP1"
},
{
"begin": 758,
"end": 779,
"name": "SWAP2"
},
{
"begin": 758,
"end": 779,
"name": "SUB"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "RETURN"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "8"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "CALLVALUE"
},
{
"begin": 322,
"end": 386,
"name": "ISZERO"
},
{
"begin": 322,
"end": 386,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 322,
"end": 386,
"name": "JUMPI"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "REVERT"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "35"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "PUSH [tag]",
"value": "36"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "4"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "CALLDATALOAD"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 322,
"end": 386,
"name": "AND"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "CALLDATALOAD"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 322,
"end": 386,
"name": "AND"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 322,
"end": 386,
"name": "JUMP"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "36"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "MLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "DUP3"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "ADD"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "MLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "SUB"
},
{
"begin": 322,
"end": 386,
"name": "SWAP1"
},
{
"begin": 322,
"end": 386,
"name": "RETURN"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "9"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "CALLVALUE"
},
{
"begin": 2413,
"end": 2528,
"name": "ISZERO"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPI"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "0"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "REVERT"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "38"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH [tag]",
"value": "39"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "4"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "CALLDATALOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2413,
"end": 2528,
"name": "AND"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "20"
},
{
"begin": 2413,
"end": 2528,
"name": "ADD"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH [tag]",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMP"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "39"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "MLOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP3"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP2"
},
{
"begin": 2413,
"end": 2528,
"name": "MSTORE"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "20"
},
{
"begin": 2413,
"end": 2528,
"name": "ADD"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "PUSH",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "MLOAD"
},
{
"begin": 2413,
"end": 2528,
"name": "DUP1"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SUB"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "RETURN"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "10"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "CALLVALUE"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "41"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "0"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "REVERT"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "41"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "42"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 830,
"end": 850,
"name": "JUMP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "42"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "44"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "45"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "47"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "EXP"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "NOT"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "47"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "SWAP3"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "RETURN"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "11"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLVALUE"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH [tag]",
"value": "48"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPI"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "0"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "REVERT"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "48"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH [tag]",
"value": "49"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "4"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLDATALOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1557,
"end": 1884,
"name": "AND"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "CALLDATALOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH [tag]",
"value": "50"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMP"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "49"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "40"
},
{
"begin": 1557,
"end": 1884,
"name": "MLOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP3"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "ISZERO"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP2"
},
{
"begin": 1557,
"end": 1884,
"name": "MSTORE"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "20"
},
{
"begin": 1557,
"end": 1884,
"name": "ADD"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "PUSH",
"value": "40"
},
{
"begin": 1557,
"end": 1884,
"name": "MLOAD"
},
{
"begin": 1557,
"end": 1884,
"name": "DUP1"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "SUB"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP1"
},
{
"begin": 1557,
"end": 1884,
"name": "RETURN"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "12"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLVALUE"
},
{
"begin": 2804,
"end": 2948,
"name": "ISZERO"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH [tag]",
"value": "51"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPI"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "0"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "REVERT"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "51"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH [tag]",
"value": "52"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "4"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLDATALOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2804,
"end": 2948,
"name": "AND"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "CALLDATALOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2804,
"end": 2948,
"name": "AND"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH [tag]",
"value": "53"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMP"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "52"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "40"
},
{
"begin": 2804,
"end": 2948,
"name": "MLOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP3"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP2"
},
{
"begin": 2804,
"end": 2948,
"name": "MSTORE"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "20"
},
{
"begin": 2804,
"end": 2948,
"name": "ADD"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "PUSH",
"value": "40"
},
{
"begin": 2804,
"end": 2948,
"name": "MLOAD"
},
{
"begin": 2804,
"end": 2948,
"name": "DUP1"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "SUB"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP1"
},
{
"begin": 2804,
"end": 2948,
"name": "RETURN"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "15"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "3"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MLOAD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "40"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SWAP3"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "ISZERO"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "LT"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "55"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "100"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DIV"
},
{
"begin": 686,
"end": 704,
"name": "MUL"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMP"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "55"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "0"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "0"
},
{
"begin": 686,
"end": 704,
"name": "KECCAK256"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "56"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "SLOAD"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "MSTORE"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "20"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "DUP1"
},
{
"begin": 686,
"end": 704,
"name": "DUP4"
},
{
"begin": 686,
"end": 704,
"name": "GT"
},
{
"begin": 686,
"end": 704,
"name": "PUSH [tag]",
"value": "56"
},
{
"begin": 686,
"end": 704,
"name": "JUMPI"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "SWAP1"
},
{
"begin": 686,
"end": 704,
"name": "SUB"
},
{
"begin": 686,
"end": 704,
"name": "PUSH",
"value": "1F"
},
{
"begin": 686,
"end": 704,
"name": "AND"
},
{
"begin": 686,
"end": 704,
"name": "DUP3"
},
{
"begin": 686,
"end": 704,
"name": "ADD"
},
{
"begin": 686,
"end": 704,
"name": "SWAP2"
},
{
"begin": 686,
"end": 704,
"name": "tag",
"value": "54"
},
{
"begin": 686,
"end": 704,
"name": "JUMPDEST"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "POP"
},
{
"begin": 686,
"end": 704,
"name": "DUP2"
},
{
"begin": 686,
"end": 704,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2536,
"end": 2796,
"name": "tag",
"value": "22"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMPDEST"
},
{
"begin": 2603,
"end": 2615,
"name": "PUSH",
"value": "0"
},
{
"begin": 2660,
"end": 2666,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2635,
"name": "PUSH",
"value": "2"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "0"
},
{
"begin": 2636,
"end": 2646,
"name": "CALLER"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2647,
"name": "AND"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2647,
"name": "AND"
},
{
"begin": 2628,
"end": 2647,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2647,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2647,
"name": "ADD"
},
{
"begin": 2628,
"end": 2647,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2647,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2647,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2647,
"name": "ADD"
},
{
"begin": 2628,
"end": 2647,
"name": "PUSH",
"value": "0"
},
{
"begin": 2628,
"end": 2647,
"name": "KECCAK256"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "0"
},
{
"begin": 2648,
"end": 2656,
"name": "DUP6"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2657,
"name": "AND"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2628,
"end": 2657,
"name": "AND"
},
{
"begin": 2628,
"end": 2657,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2657,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2657,
"name": "ADD"
},
{
"begin": 2628,
"end": 2657,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2657,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2657,
"name": "MSTORE"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "20"
},
{
"begin": 2628,
"end": 2657,
"name": "ADD"
},
{
"begin": 2628,
"end": 2657,
"name": "PUSH",
"value": "0"
},
{
"begin": 2628,
"end": 2657,
"name": "KECCAK256"
},
{
"begin": 2628,
"end": 2666,
"name": "DUP2"
},
{
"begin": 2628,
"end": 2666,
"name": "SWAP1"
},
{
"begin": 2628,
"end": 2666,
"name": "SSTORE"
},
{
"begin": 2628,
"end": 2666,
"name": "POP"
},
{
"begin": 2703,
"end": 2711,
"name": "DUP3"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2682,
"end": 2720,
"name": "AND"
},
{
"begin": 2691,
"end": 2701,
"name": "CALLER"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2682,
"end": 2720,
"name": "AND"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
},
{
"begin": 2713,
"end": 2719,
"name": "DUP5"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "40"
},
{
"begin": 2682,
"end": 2720,
"name": "MLOAD"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP1"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP3"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP2"
},
{
"begin": 2682,
"end": 2720,
"name": "MSTORE"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "20"
},
{
"begin": 2682,
"end": 2720,
"name": "ADD"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP2"
},
{
"begin": 2682,
"end": 2720,
"name": "POP"
},
{
"begin": 2682,
"end": 2720,
"name": "POP"
},
{
"begin": 2682,
"end": 2720,
"name": "PUSH",
"value": "40"
},
{
"begin": 2682,
"end": 2720,
"name": "MLOAD"
},
{
"begin": 2682,
"end": 2720,
"name": "DUP1"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP2"
},
{
"begin": 2682,
"end": 2720,
"name": "SUB"
},
{
"begin": 2682,
"end": 2720,
"name": "SWAP1"
},
{
"begin": 2682,
"end": 2720,
"name": "LOG3"
},
{
"begin": 2784,
"end": 2788,
"name": "PUSH",
"value": "1"
},
{
"begin": 2777,
"end": 2788,
"name": "SWAP1"
},
{
"begin": 2777,
"end": 2788,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP3"
},
{
"begin": 2536,
"end": 2796,
"name": "SWAP2"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "POP"
},
{
"begin": 2536,
"end": 2796,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 651,
"end": 677,
"name": "tag",
"value": "25"
},
{
"begin": 651,
"end": 677,
"name": "JUMPDEST"
},
{
"begin": 651,
"end": 677,
"name": "PUSH",
"value": "0"
},
{
"begin": 651,
"end": 677,
"name": "SLOAD"
},
{
"begin": 651,
"end": 677,
"name": "DUP2"
},
{
"begin": 651,
"end": 677,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1892,
"end": 2405,
"name": "tag",
"value": "28"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMPDEST"
},
{
"begin": 1974,
"end": 1986,
"name": "PUSH",
"value": "0"
},
{
"begin": 1999,
"end": 2016,
"name": "DUP1"
},
{
"begin": 2019,
"end": 2026,
"name": "PUSH",
"value": "2"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "0"
},
{
"begin": 2027,
"end": 2032,
"name": "DUP7"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2033,
"name": "AND"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2033,
"name": "AND"
},
{
"begin": 2019,
"end": 2033,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2033,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2033,
"name": "ADD"
},
{
"begin": 2019,
"end": 2033,
"name": "SWAP1"
},
{
"begin": 2019,
"end": 2033,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2033,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2033,
"name": "ADD"
},
{
"begin": 2019,
"end": 2033,
"name": "PUSH",
"value": "0"
},
{
"begin": 2019,
"end": 2033,
"name": "KECCAK256"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "0"
},
{
"begin": 2034,
"end": 2044,
"name": "CALLER"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2045,
"name": "AND"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2019,
"end": 2045,
"name": "AND"
},
{
"begin": 2019,
"end": 2045,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2045,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2045,
"name": "ADD"
},
{
"begin": 2019,
"end": 2045,
"name": "SWAP1"
},
{
"begin": 2019,
"end": 2045,
"name": "DUP2"
},
{
"begin": 2019,
"end": 2045,
"name": "MSTORE"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "20"
},
{
"begin": 2019,
"end": 2045,
"name": "ADD"
},
{
"begin": 2019,
"end": 2045,
"name": "PUSH",
"value": "0"
},
{
"begin": 2019,
"end": 2045,
"name": "KECCAK256"
},
{
"begin": 2019,
"end": 2045,
"name": "SLOAD"
},
{
"begin": 1999,
"end": 2045,
"name": "SWAP1"
},
{
"begin": 1999,
"end": 2045,
"name": "POP"
},
{
"begin": 2083,
"end": 2089,
"name": "DUP3"
},
{
"begin": 2064,
"end": 2072,
"name": "PUSH",
"value": "1"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "0"
},
{
"begin": 2073,
"end": 2078,
"name": "DUP8"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2064,
"end": 2079,
"name": "AND"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2064,
"end": 2079,
"name": "AND"
},
{
"begin": 2064,
"end": 2079,
"name": "DUP2"
},
{
"begin": 2064,
"end": 2079,
"name": "MSTORE"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "20"
},
{
"begin": 2064,
"end": 2079,
"name": "ADD"
},
{
"begin": 2064,
"end": 2079,
"name": "SWAP1"
},
{
"begin": 2064,
"end": 2079,
"name": "DUP2"
},
{
"begin": 2064,
"end": 2079,
"name": "MSTORE"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "20"
},
{
"begin": 2064,
"end": 2079,
"name": "ADD"
},
{
"begin": 2064,
"end": 2079,
"name": "PUSH",
"value": "0"
},
{
"begin": 2064,
"end": 2079,
"name": "KECCAK256"
},
{
"begin": 2064,
"end": 2079,
"name": "SLOAD"
},
{
"begin": 2064,
"end": 2089,
"name": "LT"
},
{
"begin": 2064,
"end": 2089,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "DUP1"
},
{
"begin": 2064,
"end": 2112,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "PUSH [tag]",
"value": "59"
},
{
"begin": 2064,
"end": 2112,
"name": "JUMPI"
},
{
"begin": 2064,
"end": 2112,
"name": "POP"
},
{
"begin": 2106,
"end": 2112,
"name": "DUP3"
},
{
"begin": 2093,
"end": 2102,
"name": "DUP2"
},
{
"begin": 2093,
"end": 2112,
"name": "LT"
},
{
"begin": 2093,
"end": 2112,
"name": "ISZERO"
},
{
"begin": 2064,
"end": 2112,
"name": "tag",
"value": "59"
},
{
"begin": 2064,
"end": 2112,
"name": "JUMPDEST"
},
{
"begin": 2056,
"end": 2113,
"name": "ISZERO"
},
{
"begin": 2056,
"end": 2113,
"name": "ISZERO"
},
{
"begin": 2056,
"end": 2113,
"name": "PUSH [tag]",
"value": "60"
},
{
"begin": 2056,
"end": 2113,
"name": "JUMPI"
},
{
"begin": 2056,
"end": 2113,
"name": "PUSH",
"value": "0"
},
{
"begin": 2056,
"end": 2113,
"name": "DUP1"
},
{
"begin": 2056,
"end": 2113,
"name": "REVERT"
},
{
"begin": 2056,
"end": 2113,
"name": "tag",
"value": "60"
},
{
"begin": 2056,
"end": 2113,
"name": "JUMPDEST"
},
{
"begin": 2141,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2132,
"name": "PUSH",
"value": "1"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2133,
"end": 2136,
"name": "DUP7"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2124,
"end": 2137,
"name": "AND"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2124,
"end": 2137,
"name": "AND"
},
{
"begin": 2124,
"end": 2137,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2137,
"name": "MSTORE"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "20"
},
{
"begin": 2124,
"end": 2137,
"name": "ADD"
},
{
"begin": 2124,
"end": 2137,
"name": "SWAP1"
},
{
"begin": 2124,
"end": 2137,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2137,
"name": "MSTORE"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "20"
},
{
"begin": 2124,
"end": 2137,
"name": "ADD"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2124,
"end": 2137,
"name": "KECCAK256"
},
{
"begin": 2124,
"end": 2137,
"name": "PUSH",
"value": "0"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP3"
},
{
"begin": 2124,
"end": 2147,
"name": "SLOAD"
},
{
"begin": 2124,
"end": 2147,
"name": "ADD"
},
{
"begin": 2124,
"end": 2147,
"name": "SWAP3"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2124,
"end": 2147,
"name": "DUP2"
},
{
"begin": 2124,
"end": 2147,
"name": "SWAP1"
},
{
"begin": 2124,
"end": 2147,
"name": "SSTORE"
},
{
"begin": 2124,
"end": 2147,
"name": "POP"
},
{
"begin": 2177,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2166,
"name": "PUSH",
"value": "1"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2167,
"end": 2172,
"name": "DUP8"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2158,
"end": 2173,
"name": "AND"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2158,
"end": 2173,
"name": "AND"
},
{
"begin": 2158,
"end": 2173,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2173,
"name": "MSTORE"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "20"
},
{
"begin": 2158,
"end": 2173,
"name": "ADD"
},
{
"begin": 2158,
"end": 2173,
"name": "SWAP1"
},
{
"begin": 2158,
"end": 2173,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2173,
"name": "MSTORE"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "20"
},
{
"begin": 2158,
"end": 2173,
"name": "ADD"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2158,
"end": 2173,
"name": "KECCAK256"
},
{
"begin": 2158,
"end": 2173,
"name": "PUSH",
"value": "0"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP3"
},
{
"begin": 2158,
"end": 2183,
"name": "SLOAD"
},
{
"begin": 2158,
"end": 2183,
"name": "SUB"
},
{
"begin": 2158,
"end": 2183,
"name": "SWAP3"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 2158,
"end": 2183,
"name": "DUP2"
},
{
"begin": 2158,
"end": 2183,
"name": "SWAP1"
},
{
"begin": 2158,
"end": 2183,
"name": "SSTORE"
},
{
"begin": 2158,
"end": 2183,
"name": "POP"
},
{
"begin": 254,
"end": 264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2198,
"end": 2207,
"name": "DUP2"
},
{
"begin": 2198,
"end": 2221,
"name": "LT"
},
{
"begin": 2194,
"end": 2286,
"name": "ISZERO"
},
{
"begin": 2194,
"end": 2286,
"name": "PUSH [tag]",
"value": "61"
},
{
"begin": 2194,
"end": 2286,
"name": "JUMPI"
},
{
"begin": 2268,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2245,
"name": "PUSH",
"value": "2"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "0"
},
{
"begin": 2246,
"end": 2251,
"name": "DUP8"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2252,
"name": "AND"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2252,
"name": "AND"
},
{
"begin": 2238,
"end": 2252,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2252,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2252,
"name": "ADD"
},
{
"begin": 2238,
"end": 2252,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2252,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2252,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2252,
"name": "ADD"
},
{
"begin": 2238,
"end": 2252,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2252,
"name": "KECCAK256"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2253,
"end": 2263,
"name": "CALLER"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2264,
"name": "AND"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2238,
"end": 2264,
"name": "AND"
},
{
"begin": 2238,
"end": 2264,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2264,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2264,
"name": "ADD"
},
{
"begin": 2238,
"end": 2264,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2264,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2264,
"name": "MSTORE"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "20"
},
{
"begin": 2238,
"end": 2264,
"name": "ADD"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2264,
"name": "KECCAK256"
},
{
"begin": 2238,
"end": 2264,
"name": "PUSH",
"value": "0"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP3"
},
{
"begin": 2238,
"end": 2274,
"name": "SLOAD"
},
{
"begin": 2238,
"end": 2274,
"name": "SUB"
},
{
"begin": 2238,
"end": 2274,
"name": "SWAP3"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2238,
"end": 2274,
"name": "DUP2"
},
{
"begin": 2238,
"end": 2274,
"name": "SWAP1"
},
{
"begin": 2238,
"end": 2274,
"name": "SSTORE"
},
{
"begin": 2238,
"end": 2274,
"name": "POP"
},
{
"begin": 2194,
"end": 2286,
"name": "tag",
"value": "61"
},
{
"begin": 2194,
"end": 2286,
"name": "JUMPDEST"
},
{
"begin": 2317,
"end": 2320,
"name": "DUP4"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2301,
"end": 2329,
"name": "AND"
},
{
"begin": 2310,
"end": 2315,
"name": "DUP6"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2301,
"end": 2329,
"name": "AND"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 2322,
"end": 2328,
"name": "DUP6"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "40"
},
{
"begin": 2301,
"end": 2329,
"name": "MLOAD"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP1"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP3"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP2"
},
{
"begin": 2301,
"end": 2329,
"name": "MSTORE"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "20"
},
{
"begin": 2301,
"end": 2329,
"name": "ADD"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP2"
},
{
"begin": 2301,
"end": 2329,
"name": "POP"
},
{
"begin": 2301,
"end": 2329,
"name": "POP"
},
{
"begin": 2301,
"end": 2329,
"name": "PUSH",
"value": "40"
},
{
"begin": 2301,
"end": 2329,
"name": "MLOAD"
},
{
"begin": 2301,
"end": 2329,
"name": "DUP1"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP2"
},
{
"begin": 2301,
"end": 2329,
"name": "SUB"
},
{
"begin": 2301,
"end": 2329,
"name": "SWAP1"
},
{
"begin": 2301,
"end": 2329,
"name": "LOG3"
},
{
"begin": 2393,
"end": 2397,
"name": "PUSH",
"value": "1"
},
{
"begin": 2386,
"end": 2397,
"name": "SWAP2"
},
{
"begin": 2386,
"end": 2397,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP4"
},
{
"begin": 1892,
"end": 2405,
"name": "SWAP3"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "POP"
},
{
"begin": 1892,
"end": 2405,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 271,
"end": 315,
"name": "tag",
"value": "31"
},
{
"begin": 271,
"end": 315,
"name": "JUMPDEST"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "20"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "DUP1"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "MSTORE"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "40"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "KECCAK256"
},
{
"begin": 271,
"end": 315,
"name": "PUSH",
"value": "0"
},
{
"begin": 271,
"end": 315,
"name": "SWAP2"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "SWAP1"
},
{
"begin": 271,
"end": 315,
"name": "POP"
},
{
"begin": 271,
"end": 315,
"name": "SLOAD"
},
{
"begin": 271,
"end": 315,
"name": "DUP2"
},
{
"begin": 271,
"end": 315,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 758,
"end": 779,
"name": "tag",
"value": "34"
},
{
"begin": 758,
"end": 779,
"name": "JUMPDEST"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "4"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "0"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "SLOAD"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "100"
},
{
"begin": 758,
"end": 779,
"name": "EXP"
},
{
"begin": 758,
"end": 779,
"name": "SWAP1"
},
{
"begin": 758,
"end": 779,
"name": "DIV"
},
{
"begin": 758,
"end": 779,
"name": "PUSH",
"value": "FF"
},
{
"begin": 758,
"end": 779,
"name": "AND"
},
{
"begin": 758,
"end": 779,
"name": "DUP2"
},
{
"begin": 758,
"end": 779,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 322,
"end": 386,
"name": "tag",
"value": "37"
},
{
"begin": 322,
"end": 386,
"name": "JUMPDEST"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "2"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "KECCAK256"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "20"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "DUP1"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "MSTORE"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "40"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "KECCAK256"
},
{
"begin": 322,
"end": 386,
"name": "PUSH",
"value": "0"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "SWAP2"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "POP"
},
{
"begin": 322,
"end": 386,
"name": "SLOAD"
},
{
"begin": 322,
"end": 386,
"name": "DUP2"
},
{
"begin": 322,
"end": 386,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2413,
"end": 2528,
"name": "tag",
"value": "40"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMPDEST"
},
{
"begin": 2469,
"end": 2484,
"name": "PUSH",
"value": "0"
},
{
"begin": 2504,
"end": 2512,
"name": "PUSH",
"value": "1"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "0"
},
{
"begin": 2513,
"end": 2519,
"name": "DUP4"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2504,
"end": 2520,
"name": "AND"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2504,
"end": 2520,
"name": "AND"
},
{
"begin": 2504,
"end": 2520,
"name": "DUP2"
},
{
"begin": 2504,
"end": 2520,
"name": "MSTORE"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "20"
},
{
"begin": 2504,
"end": 2520,
"name": "ADD"
},
{
"begin": 2504,
"end": 2520,
"name": "SWAP1"
},
{
"begin": 2504,
"end": 2520,
"name": "DUP2"
},
{
"begin": 2504,
"end": 2520,
"name": "MSTORE"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "20"
},
{
"begin": 2504,
"end": 2520,
"name": "ADD"
},
{
"begin": 2504,
"end": 2520,
"name": "PUSH",
"value": "0"
},
{
"begin": 2504,
"end": 2520,
"name": "KECCAK256"
},
{
"begin": 2504,
"end": 2520,
"name": "SLOAD"
},
{
"begin": 2497,
"end": 2520,
"name": "SWAP1"
},
{
"begin": 2497,
"end": 2520,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP2"
},
{
"begin": 2413,
"end": 2528,
"name": "SWAP1"
},
{
"begin": 2413,
"end": 2528,
"name": "POP"
},
{
"begin": 2413,
"end": 2528,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "43"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "5"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MLOAD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "40"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SWAP3"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "ISZERO"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "LT"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "64"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "100"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DIV"
},
{
"begin": 830,
"end": 850,
"name": "MUL"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMP"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "64"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "0"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "0"
},
{
"begin": 830,
"end": 850,
"name": "KECCAK256"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "65"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "SLOAD"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "MSTORE"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "20"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "DUP1"
},
{
"begin": 830,
"end": 850,
"name": "DUP4"
},
{
"begin": 830,
"end": 850,
"name": "GT"
},
{
"begin": 830,
"end": 850,
"name": "PUSH [tag]",
"value": "65"
},
{
"begin": 830,
"end": 850,
"name": "JUMPI"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "SWAP1"
},
{
"begin": 830,
"end": 850,
"name": "SUB"
},
{
"begin": 830,
"end": 850,
"name": "PUSH",
"value": "1F"
},
{
"begin": 830,
"end": 850,
"name": "AND"
},
{
"begin": 830,
"end": 850,
"name": "DUP3"
},
{
"begin": 830,
"end": 850,
"name": "ADD"
},
{
"begin": 830,
"end": 850,
"name": "SWAP2"
},
{
"begin": 830,
"end": 850,
"name": "tag",
"value": "63"
},
{
"begin": 830,
"end": 850,
"name": "JUMPDEST"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "POP"
},
{
"begin": 830,
"end": 850,
"name": "DUP2"
},
{
"begin": 830,
"end": 850,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 1557,
"end": 1884,
"name": "tag",
"value": "50"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMPDEST"
},
{
"begin": 1620,
"end": 1632,
"name": "PUSH",
"value": "0"
},
{
"begin": 1677,
"end": 1683,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1661,
"name": "PUSH",
"value": "1"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "0"
},
{
"begin": 1662,
"end": 1672,
"name": "CALLER"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1653,
"end": 1673,
"name": "AND"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1653,
"end": 1673,
"name": "AND"
},
{
"begin": 1653,
"end": 1673,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1673,
"name": "MSTORE"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "20"
},
{
"begin": 1653,
"end": 1673,
"name": "ADD"
},
{
"begin": 1653,
"end": 1673,
"name": "SWAP1"
},
{
"begin": 1653,
"end": 1673,
"name": "DUP2"
},
{
"begin": 1653,
"end": 1673,
"name": "MSTORE"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "20"
},
{
"begin": 1653,
"end": 1673,
"name": "ADD"
},
{
"begin": 1653,
"end": 1673,
"name": "PUSH",
"value": "0"
},
{
"begin": 1653,
"end": 1673,
"name": "KECCAK256"
},
{
"begin": 1653,
"end": 1673,
"name": "SLOAD"
},
{
"begin": 1653,
"end": 1683,
"name": "LT"
},
{
"begin": 1653,
"end": 1683,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "ISZERO"
},
{
"begin": 1645,
"end": 1684,
"name": "PUSH [tag]",
"value": "67"
},
{
"begin": 1645,
"end": 1684,
"name": "JUMPI"
},
{
"begin": 1645,
"end": 1684,
"name": "PUSH",
"value": "0"
},
{
"begin": 1645,
"end": 1684,
"name": "DUP1"
},
{
"begin": 1645,
"end": 1684,
"name": "REVERT"
},
{
"begin": 1645,
"end": 1684,
"name": "tag",
"value": "67"
},
{
"begin": 1645,
"end": 1684,
"name": "JUMPDEST"
},
{
"begin": 1719,
"end": 1725,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1703,
"name": "PUSH",
"value": "1"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1704,
"end": 1714,
"name": "CALLER"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1695,
"end": 1715,
"name": "AND"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1695,
"end": 1715,
"name": "AND"
},
{
"begin": 1695,
"end": 1715,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1715,
"name": "MSTORE"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "20"
},
{
"begin": 1695,
"end": 1715,
"name": "ADD"
},
{
"begin": 1695,
"end": 1715,
"name": "SWAP1"
},
{
"begin": 1695,
"end": 1715,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1715,
"name": "MSTORE"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "20"
},
{
"begin": 1695,
"end": 1715,
"name": "ADD"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1695,
"end": 1715,
"name": "KECCAK256"
},
{
"begin": 1695,
"end": 1715,
"name": "PUSH",
"value": "0"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP3"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP3"
},
{
"begin": 1695,
"end": 1725,
"name": "SLOAD"
},
{
"begin": 1695,
"end": 1725,
"name": "SUB"
},
{
"begin": 1695,
"end": 1725,
"name": "SWAP3"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1695,
"end": 1725,
"name": "DUP2"
},
{
"begin": 1695,
"end": 1725,
"name": "SWAP1"
},
{
"begin": 1695,
"end": 1725,
"name": "SSTORE"
},
{
"begin": 1695,
"end": 1725,
"name": "POP"
},
{
"begin": 1753,
"end": 1759,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1744,
"name": "PUSH",
"value": "1"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1745,
"end": 1748,
"name": "DUP6"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1736,
"end": 1749,
"name": "AND"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1736,
"end": 1749,
"name": "AND"
},
{
"begin": 1736,
"end": 1749,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1749,
"name": "MSTORE"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "20"
},
{
"begin": 1736,
"end": 1749,
"name": "ADD"
},
{
"begin": 1736,
"end": 1749,
"name": "SWAP1"
},
{
"begin": 1736,
"end": 1749,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1749,
"name": "MSTORE"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "20"
},
{
"begin": 1736,
"end": 1749,
"name": "ADD"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1736,
"end": 1749,
"name": "KECCAK256"
},
{
"begin": 1736,
"end": 1749,
"name": "PUSH",
"value": "0"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP3"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP3"
},
{
"begin": 1736,
"end": 1759,
"name": "SLOAD"
},
{
"begin": 1736,
"end": 1759,
"name": "ADD"
},
{
"begin": 1736,
"end": 1759,
"name": "SWAP3"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1736,
"end": 1759,
"name": "DUP2"
},
{
"begin": 1736,
"end": 1759,
"name": "SWAP1"
},
{
"begin": 1736,
"end": 1759,
"name": "SSTORE"
},
{
"begin": 1736,
"end": 1759,
"name": "POP"
},
{
"begin": 1796,
"end": 1799,
"name": "DUP3"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1775,
"end": 1808,
"name": "AND"
},
{
"begin": 1784,
"end": 1794,
"name": "CALLER"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1775,
"end": 1808,
"name": "AND"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
},
{
"begin": 1801,
"end": 1807,
"name": "DUP5"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "40"
},
{
"begin": 1775,
"end": 1808,
"name": "MLOAD"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP1"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP3"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP2"
},
{
"begin": 1775,
"end": 1808,
"name": "MSTORE"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "20"
},
{
"begin": 1775,
"end": 1808,
"name": "ADD"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP2"
},
{
"begin": 1775,
"end": 1808,
"name": "POP"
},
{
"begin": 1775,
"end": 1808,
"name": "POP"
},
{
"begin": 1775,
"end": 1808,
"name": "PUSH",
"value": "40"
},
{
"begin": 1775,
"end": 1808,
"name": "MLOAD"
},
{
"begin": 1775,
"end": 1808,
"name": "DUP1"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP2"
},
{
"begin": 1775,
"end": 1808,
"name": "SUB"
},
{
"begin": 1775,
"end": 1808,
"name": "SWAP1"
},
{
"begin": 1775,
"end": 1808,
"name": "LOG3"
},
{
"begin": 1872,
"end": 1876,
"name": "PUSH",
"value": "1"
},
{
"begin": 1865,
"end": 1876,
"name": "SWAP1"
},
{
"begin": 1865,
"end": 1876,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP3"
},
{
"begin": 1557,
"end": 1884,
"name": "SWAP2"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "POP"
},
{
"begin": 1557,
"end": 1884,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 2804,
"end": 2948,
"name": "tag",
"value": "53"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMPDEST"
},
{
"begin": 2878,
"end": 2895,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2922,
"name": "PUSH",
"value": "2"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "0"
},
{
"begin": 2923,
"end": 2929,
"name": "DUP5"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2930,
"name": "AND"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2930,
"name": "AND"
},
{
"begin": 2915,
"end": 2930,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2930,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2930,
"name": "ADD"
},
{
"begin": 2915,
"end": 2930,
"name": "SWAP1"
},
{
"begin": 2915,
"end": 2930,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2930,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2930,
"name": "ADD"
},
{
"begin": 2915,
"end": 2930,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2930,
"name": "KECCAK256"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "0"
},
{
"begin": 2931,
"end": 2939,
"name": "DUP4"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2940,
"name": "AND"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2915,
"end": 2940,
"name": "AND"
},
{
"begin": 2915,
"end": 2940,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2940,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2940,
"name": "ADD"
},
{
"begin": 2915,
"end": 2940,
"name": "SWAP1"
},
{
"begin": 2915,
"end": 2940,
"name": "DUP2"
},
{
"begin": 2915,
"end": 2940,
"name": "MSTORE"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "20"
},
{
"begin": 2915,
"end": 2940,
"name": "ADD"
},
{
"begin": 2915,
"end": 2940,
"name": "PUSH",
"value": "0"
},
{
"begin": 2915,
"end": 2940,
"name": "KECCAK256"
},
{
"begin": 2915,
"end": 2940,
"name": "SLOAD"
},
{
"begin": 2908,
"end": 2940,
"name": "SWAP1"
},
{
"begin": 2908,
"end": 2940,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP3"
},
{
"begin": 2804,
"end": 2948,
"name": "SWAP2"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "POP"
},
{
"begin": 2804,
"end": 2948,
"name": "JUMP",
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"allowed(address,address)": "5c658165",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"balances(address)": "27e235e3",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.4.21+commit.dfe3193c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"success\",\"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\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowed\",\"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\":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\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"},{\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"shuyao_token/shuyaoToken.sol\":\"SHUYAO\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"shuyao_token/EIP20Interface.sol\":{\"keccak256\":\"0x95715abe8c85b60efb9b460668441672944b4e8992e8469a387ea7cf68cd54d2\",\"urls\":[\"bzzr://57eea3eb504db9ade11efd8b5cc6a84c42b391f33feca158cb9d6e584583afa2\"]},\"shuyao_token/shuyaoToken.sol\":{\"keccak256\":\"0xa905ec75e7f634cf120347bf2a6994e3bd46c10b9b33816247161d983df04479\",\"urls\":[\"bzzr://43742f1dd6cbc9ef12131cab3bf12713e0577bdbef09a8fefd83fa906a675b18\"]}},\"version\":1}",
"userdoc": {
"methods": {}
}
}
}
},
"sources": {
"shuyao_token/EIP20Interface.sol": {
"ast": {
"absolutePath": "shuyao_token/EIP20Interface.sol",
"exportedSymbols": {
"EIP20Interface": [
65
]
},
"id": 66,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".21"
],
"nodeType": "PragmaDirective",
"src": "121:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 65,
"linearizedBaseContracts": [
65
],
"name": "EIP20Interface",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"name": "totalSupply",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "651:26:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "651:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@param _owner The address from which the balance will be retrieved\r\n @return The balance\r",
"id": 10,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 10,
"src": "810:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "810:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "809:16:0"
},
"payable": false,
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"name": "balance",
"nodeType": "VariableDeclaration",
"scope": 10,
"src": "847:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "847:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "846:17:0"
},
"scope": 65,
"src": "791:73:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@notice send `_value` token to `_to` from `msg.sender`\r\n @param _to The address of the recipient\r\n @param _value The amount of token to be transferred\r\n @return Whether the transfer was successful or not\r",
"id": 19,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1124:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1124:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 14,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1137:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 13,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1137:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1123:29:0"
},
"payable": false,
"returnParameters": {
"id": 18,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 19,
"src": "1169:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 16,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1169:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1168:14:0"
},
"scope": 65,
"src": "1106:77:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\r\n @param _from The address of the sender\r\n @param _to The address of the recipient\r\n @param _value The amount of token to be transferred\r\n @return Whether the transfer was successful or not\r",
"id": 30,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 21,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1533:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 20,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1533:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 23,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1548:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1548:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 25,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1561:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 24,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1561:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1532:44:0"
},
"payable": false,
"returnParameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 28,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "1593:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 27,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1593:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1592:14:0"
},
"scope": 65,
"src": "1511:96:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@notice `msg.sender` approves `_spender` to spend `_value` tokens\r\n @param _spender The address of the account able to transfer the tokens\r\n @param _value The amount of tokens to be approved for transfer\r\n @return Whether the approval was successful or not\r",
"id": 39,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "approve",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 35,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1919:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1919:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 34,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1937:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 33,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1937:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1918:34:0"
},
"payable": false,
"returnParameters": {
"id": 38,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 37,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 39,
"src": "1969:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 36,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1969:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1968:14:0"
},
"scope": 65,
"src": "1902:81:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": null,
"documentation": "@param _owner The address of the account owning tokens\r\n @param _spender The address of the account able to transfer the tokens\r\n @return Amount of remaining tokens allowed to spent\r",
"id": 48,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "allowance",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 44,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 41,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2215:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 40,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2215:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 43,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2231:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 42,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2231:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2214:34:0"
},
"payable": false,
"returnParameters": {
"id": 47,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46,
"name": "remaining",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "2270:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 45,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2270:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2269:19:0"
},
"scope": 65,
"src": "2196:93:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 56,
"name": "Transfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 55,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 50,
"indexed": true,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2372:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 49,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2372:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 52,
"indexed": true,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2395:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 51,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2395:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 54,
"indexed": false,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "2416:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 53,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2416:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2371:60:0"
},
"src": "2357:75:0"
},
{
"anonymous": false,
"documentation": null,
"id": 64,
"name": "Approval",
"nodeType": "EventDefinition",
"parameters": {
"id": 63,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 58,
"indexed": true,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2453:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 57,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2453:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 60,
"indexed": true,
"name": "_spender",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2477:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 59,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2477:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 62,
"indexed": false,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2503:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 61,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2503:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2452:66:0"
},
"src": "2438:81:0"
}
],
"scope": 66,
"src": "149:2373:0"
}
],
"src": "121:2401:0"
},
"id": 0
},
"shuyao_token/shuyaoToken.sol": {
"ast": {
"absolutePath": "shuyao_token/shuyaoToken.sol",
"exportedSymbols": {
"SHUYAO": [
293
]
},
"id": 294,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 67,
"literals": [
"solidity",
"^",
"0.4",
".21"
],
"nodeType": "PragmaDirective",
"src": "108:24:1"
},
{
"absolutePath": "shuyao_token/EIP20Interface.sol",
"file": "./EIP20Interface.sol",
"id": 68,
"nodeType": "ImportDirective",
"scope": 294,
"sourceUnit": 66,
"src": "136:30:1",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": [],
"baseName": {
"contractScope": null,
"id": 69,
"name": "EIP20Interface",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 65,
"src": "191:14:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_EIP20Interface_$65",
"typeString": "contract EIP20Interface"
}
},
"id": 70,
"nodeType": "InheritanceSpecifier",
"src": "191:14:1"
}
],
"contractDependencies": [
65
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 293,
"linearizedBaseContracts": [
293,
65
],
"name": "SHUYAO",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 77,
"name": "MAX_UINT256",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "215:49:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 71,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "215:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9935"
},
"id": 76,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9936"
},
"id": 74,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "32",
"id": 72,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "254:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"hexValue": "323536",
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "257:3:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_256_by_1",
"typeString": "int_const 256"
},
"value": "256"
},
"src": "254:6:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9936"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "31",
"id": 75,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "263:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "254:10:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
"typeString": "int_const 1157...(70 digits omitted)...9935"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 81,
"name": "balances",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "271:44:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
"id": 80,
"keyType": {
"id": 78,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "280:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "271:28:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 79,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "291:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 87,
"name": "allowed",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "322:64:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"typeName": {
"id": 86,
"keyType": {
"id": 82,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "331:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "322:49:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"valueType": {
"id": 85,
"keyType": {
"id": 83,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "351:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "342:28:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 84,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "362:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 89,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "686:18:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
},
"typeName": {
"id": 88,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "686:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 91,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "758:21:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 90,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "758:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 93,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 293,
"src": "830:20:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
},
"typeName": {
"id": 92,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "830:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 127,
"nodeType": "Block",
"src": "1050:499:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 104,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1061:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 107,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 105,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "1070:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 106,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1070:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1061:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 108,
"name": "_initialAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 95,
"src": "1084:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1061:37:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 110,
"nodeType": "ExpressionStatement",
"src": "1061:37:1"
},
{
"expression": {
"argumentTypes": null,
"id": 113,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 111,
"name": "totalSupply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "1162:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 112,
"name": "_initialAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 95,
"src": "1176:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1162:28:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 114,
"nodeType": "ExpressionStatement",
"src": "1162:28:1"
},
{
"expression": {
"argumentTypes": null,
"id": 117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 115,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 89,
"src": "1247:4:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 116,
"name": "_tokenName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 97,
"src": "1254:10:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "1247:17:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 118,
"nodeType": "ExpressionStatement",
"src": "1247:17:1"
},
{
"expression": {
"argumentTypes": null,
"id": 121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 119,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 91,
"src": "1346:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 120,
"name": "_decimalUnits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 99,
"src": "1357:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "1346:24:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 122,
"nodeType": "ExpressionStatement",
"src": "1346:24:1"
},
{
"expression": {
"argumentTypes": null,
"id": 125,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 123,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 93,
"src": "1451:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 124,
"name": "_tokenSymbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 101,
"src": "1460:12:1",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "1451:21:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 126,
"nodeType": "ExpressionStatement",
"src": "1451:21:1"
}
]
},
"documentation": null,
"id": 128,
"implemented": true,
"isConstructor": true,
"isDeclaredConst": false,
"modifiers": [],
"name": "SHUYAO",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 95,
"name": "_initialAmount",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "925:22:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 94,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "925:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 97,
"name": "_tokenName",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "958:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 96,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "958:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 99,
"name": "_decimalUnits",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "986:19:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 98,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "986:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 101,
"name": "_tokenSymbol",
"nodeType": "VariableDeclaration",
"scope": 128,
"src": "1016:19:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 100,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1016:6:1",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "914:128:1"
},
"payable": false,
"returnParameters": {
"id": 103,
"nodeType": "ParameterList",
"parameters": [],
"src": "1050:0:1"
},
"scope": 293,
"src": "899:650:1",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 168,
"nodeType": "Block",
"src": "1634:250:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 138,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1653:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 141,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 139,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "1662:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 140,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1662:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1653:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 142,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1677:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1653:30:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 137,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 309,
"src": "1645:7:1",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 144,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1645:39:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 145,
"nodeType": "ExpressionStatement",
"src": "1645:39:1"
},
{
"expression": {
"argumentTypes": null,
"id": 151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 146,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1695:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 149,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 147,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "1704:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1704:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1695:20:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 150,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1719:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1695:30:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 152,
"nodeType": "ExpressionStatement",
"src": "1695:30:1"
},
{
"expression": {
"argumentTypes": null,
"id": 157,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 153,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "1736:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 155,
"indexExpression": {
"argumentTypes": null,
"id": 154,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 130,
"src": "1745:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1736:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"id": 156,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1753:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1736:23:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 158,
"nodeType": "ExpressionStatement",
"src": "1736:23:1"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 160,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "1784:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 161,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1784:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 162,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 130,
"src": "1796:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 163,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 132,
"src": "1801:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 159,
"name": "Transfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "1775:8:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256)"
}
},
"id": 164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1775:33:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 165,
"nodeType": "EmitStatement",
"src": "1770:38:1"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 166,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1872:4:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 136,
"id": 167,
"nodeType": "Return",
"src": "1865:11:1"
}
]
},
"documentation": null,
"id": 169,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 133,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 130,
"name": "_to",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1575:11:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 129,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1575:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 132,
"name": "_value",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1588:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 131,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1588:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1574:29:1"
},
"payable": false,
"returnParameters": {
"id": 136,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 135,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 169,
"src": "1620:12:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 134,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1620:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1619:14:1"
},
"scope": 293,
"src": "1557:327:1",
"stateMutability": "nonpayable",
"superFunction": 19,
"visibility": "public"
},
{
"body": {
"id": 235,
"nodeType": "Block",
"src": "1988:417:1",
"statements": [
{
"assignments": [
181
],
"declarations": [
{
"constant": false,
"id": 181,
"name": "allowance",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1999:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 180,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1999:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 188,
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 182,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2019:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 184,
"indexExpression": {
"argumentTypes": null,
"id": 183,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2027:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2019:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 187,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 185,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "2034:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 186,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2034:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2019:26:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1999:46:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 198,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 190,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2064:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 192,
"indexExpression": {
"argumentTypes": null,
"id": 191,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2073:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2064:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 193,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2083:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2064:25:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "&&",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 197,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 195,
"name": "allowance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 181,
"src": "2093:9:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 196,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2106:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2093:19:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "2064:48:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 189,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 309,
"src": "2056:7:1",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2056:57:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 200,
"nodeType": "ExpressionStatement",
"src": "2056:57:1"
},
{
"expression": {
"argumentTypes": null,
"id": 205,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 201,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2124:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 203,
"indexExpression": {
"argumentTypes": null,
"id": 202,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 173,
"src": "2133:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2124:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"id": 204,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2141:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2124:23:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 206,
"nodeType": "ExpressionStatement",
"src": "2124:23:1"
},
{
"expression": {
"argumentTypes": null,
"id": 211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 207,
"name": "balances",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 81,
"src": "2158:8:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 209,
"indexExpression": {
"argumentTypes": null,
"id": 208,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2167:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2158:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 210,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2177:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2158:25:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 212,
"nodeType": "ExpressionStatement",
"src": "2158:25:1"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 215,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 213,
"name": "allowance",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 181,
"src": "2198:9:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"id": 214,
"name": "MAX_UINT256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 77,
"src": "2210:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2198:23:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 226,
"nodeType": "IfStatement",
"src": "2194:92:1",
"trueBody": {
"id": 225,
"nodeType": "Block",
"src": "2223:63:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 223,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 216,
"name": "allowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 87,
"src": "2238:7:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
}
},
"id": 220,
"indexExpression": {
"argumentTypes": null,
"id": 217,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2246:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2238:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"id": 221,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 218,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 306,
"src": "2253:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 219,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2253:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "2238:26:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"argumentTypes": null,
"id": 222,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2268:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2238:36:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 224,
"nodeType": "ExpressionStatement",
"src": "2238:36:1"
}
]
}
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 228,
"name": "_from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 171,
"src": "2310:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 229,
"name": "_to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 173,
"src": "2317:3:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 230,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 175,
"src": "2322:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 227,
"name": "Transfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "2301:8:1",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256)"
}
},
"id": 231,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2301:28:1",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 232,
"nodeType": "EmitStatement",
"src": "2296:33:1"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 233,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2393:4:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters": 179,
"id": 234,
"nodeType": "Return",
"src": "2386:11:1"
}
]
},
"documentation": null,
"id": 236,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 176,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 171,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 236,
"src": "1914:13:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1914:7:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "intern
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment