{
  "contractName": "MintTokensWidgetRenderer",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "MINT",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MINT_TOKENS",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "SHORT_DESC",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MINT_CONFIRM",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MINTABLE_ETH",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "LONG_DESC",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ADDRESS",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "AMOUNT",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "locale",
          "type": "string"
        },
        {
          "name": "key",
          "type": "string"
        },
        {
          "name": "value",
          "type": "string"
        }
      ],
      "name": "setResource",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "locale",
          "type": "string"
        },
        {
          "name": "key",
          "type": "string"
        }
      ],
      "name": "resource",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_locale",
          "type": "string"
        },
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "render",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260008054600160a060020a03191633179055612e38806100256000396000f3006080604052600436106100b65763ffffffff60e060020a6000350416633e36f4c781146100bb5780634445d4a514610145578063715018a61461015a5780638b582712146101715780638da5cb5b146101865780639e360e64146101b7578063a83e9a3d146101cc578063ac5c6e12146101e1578063b51ce63d146101f6578063ca1a70be1461020b578063d17891761461026f578063ed3487fe14610284578063f2fde38b14610359578063f65a5c1b1461037a575b600080fd5b3480156100c757600080fd5b506100d0610411565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010a5781810151838201526020016100f2565b50505050905090810190601f1680156101375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015157600080fd5b506100d0610448565b34801561016657600080fd5b5061016f61047f565b005b34801561017d57600080fd5b506100d06104eb565b34801561019257600080fd5b5061019b610522565b60408051600160a060020a039092168252519081900360200190f35b3480156101c357600080fd5b506100d0610531565b3480156101d857600080fd5b506100d0610568565b3480156101ed57600080fd5b506100d061059f565b34801561020257600080fd5b506100d06105d6565b34801561021757600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100d094369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061060d92505050565b34801561027b57600080fd5b506100d06119fa565b34801561029057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261016f94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611a319650505050505050565b34801561036557600080fd5b5061016f600160a060020a0360043516611b1e565b34801561038657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100d094369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611b419650505050505050565b60408051808201909152600481527f6d696e7400000000000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600b81527f6d696e745f746f6b656e73000000000000000000000000000000000000000000602082015281565b600054600160a060020a0316331461049657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60408051808201909152600a81527f73686f72745f6465736300000000000000000000000000000000000000000000602082015281565b600054600160a060020a031681565b60408051808201909152600c81527f6d696e745f636f6e6669726d0000000000000000000000000000000000000000602082015281565b60408051808201909152600c81527f6d696e7461626c655f6574680000000000000000000000000000000000000000602082015281565b60408051808201909152600981527f6c6f6e675f646573630000000000000000000000000000000000000000000000602082015281565b60408051808201909152600781527f6164647265737300000000000000000000000000000000000000000000000000602082015281565b60606000806000606061061e612c5d565b86600160a060020a0316634bf365df6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b505180156106fa575086600160a060020a031663186601ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b505050506040513d60208110156106f757600080fd5b50515b156119dd5786600160a060020a0316632154dc396040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561073d57600080fd5b505af1158015610751573d6000803e3d6000fd5b505050506040513d602081101561076757600080fd5b5051604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051919650600160a060020a038916916318160ddd916004808201926020929091908290030181600087803b1580156107c857600080fd5b505af11580156107dc573d6000803e3d6000fd5b505050506040513d60208110156107f257600080fd5b50519350838511610804576000610814565b610814858563ffffffff611c9216565b60408051600480825260a08201909252919450816020015b610834612c8d565b81526020019060019003908161082c57905050915060e0604051908101604052806001151581526020016040805190810160405280600c81526020017f6d696e7461626c655f657468000000000000000000000000000000000000000081525081526020016109636109196109148b600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108e057600080fd5b505af11580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b505160ff16611ca4565b611e03565b6109576040805190810160405280600581526020017f746f6b656e000000000000000000000000000000000000000000000000000000815250611e03565b9063ffffffff611e2c16565b815260200160018a6040518082805190602001908083835b6020831061099a5780518252601f19909201916020918201910161097b565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600c8087527f6d696e7461626c655f657468000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610a255780518252601f199092019160209182019101610a06565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050505050815260200186600014610af957610af485611ca4565b610b2e565b60408051808201909152600581527f22e2889e2200000000000000000000000000000000000000000000000000000060208201525b8152602001610b3b611ea3565b8152602001610b48611ef6565b9052825183906000908110610b5957fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600781526020017f616464726573730000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600b81526020017f6164647265737345646974000000000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b60208310610c235780518252601f199092019160209182019101610c04565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260078087527f616464726573730000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610cae5780518252601f199092019160209182019101610c8f565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610d625780601f10610d3757610100808354040283529160200191610d62565b820191906000526020600020905b815481529060010190602001808311610d4557829003601f168201915b505050505081526020016040805190810160405280600281526020017f22220000000000000000000000000000000000000000000000000000000000008152508152602001610daf611ea3565b8152602001610dbc611ef6565b9052825183906001908110610dcd57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f616d6f756e7400000000000000000000000000000000000000000000000000008152508152602001610eaf610e716109148b600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108e057600080fd5b6109576040805190810160405280600981526020017f746f6b656e456469740000000000000000000000000000000000000000000000815250611e03565b815260200160018a6040518082805190602001908083835b60208310610ee65780518252601f199092019160209182019101610ec7565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f616d6f756e74000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610f715780518252601f199092019160209182019101610f52565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b505050505081526020016040805190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152508152602001611072611ea3565b815260200161107f611ef6565b905282518390600290811061109057fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600481526020017f6d696e740000000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f627574746f6e0000000000000000000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b6020831061115a5780518252601f19909201916020918201910161113b565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260048087527f6d696e740000000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106111e55780518252601f1990920191602091820191016111c6565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156112995780601f1061126e57610100808354040283529160200191611299565b820191906000526020600020905b81548152906001019060200180831161127c57829003601f168201915b505050505081526020016040805190810160405280600481526020017f6e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160a0604051908101604052806001151581526020018a600160a060020a031681526020016040805190810160405280600681526020017f6d696e74282900000000000000000000000000000000000000000000000000008152508152602001606060405190810160405280602581526020017f7b2261646472657373223a2261646472657373222c22616d6f756e74223a227581526020017f696e74227d000000000000000000000000000000000000000000000000000000815250815260200160018c6040518082805190602001908083835b602083106113d15780518252601f1990920191602091820191016113b2565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600c8087527f6d696e745f636f6e6669726d000000000000000000000000000000000000000093870193845291519095945092508291908083835b6020831061145c5780518252601f19909201916020918201910161143d565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156115105780601f106114e557610100808354040283529160200191611510565b820191906000526020600020905b8154815290600101906020018083116114f357829003601f168201915b50505050508152508152602001611525611ef6565b905282518390600390811061153657fe5b9060200190602002018190525060a06040519081016040528060018a6040518082805190602001908083835b602083106115815780518252601f199092019160209182019101611562565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600b8087527f6d696e745f746f6b656e7300000000000000000000000000000000000000000093870193845291519095945092508291908083835b6020831061160c5780518252601f1990920191602091820191016115ed565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156116c05780601f10611695576101008083540402835291602001916116c0565b820191906000526020600020905b8154815290600101906020018083116116a357829003601f168201915b5050505050815260200160018a6040518082805190602001908083835b602083106116fc5780518252601f1990920191602091820191016116dd565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a8087527f73686f72745f646573630000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106117875780518252601f199092019160209182019101611768565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f600260018316159098029095011695909504928301829004820288018201905281875292945092505083018282801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b5050505050815260200160018a6040518082805190602001908083835b602083106118775780518252601f199092019160209182019101611858565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260098087527f6c6f6e675f64657363000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106119025780518252601f1990920191602091820191016118e3565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156119b65780601f1061198b576101008083540402835291602001916119b6565b820191906000526020600020905b81548152906001019060200180831161199957829003601f168201915b50505050508152602001600481526020018381525090506119d681611f83565b95506119ef565b60408051602081019091526000815295505b505050505092915050565b60408051808201909152600681527f616d6f756e740000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314611a4857600080fd5b806001846040518082805190602001908083835b60208310611a7b5780518252601f199092019160209182019101611a5c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b60208310611ad75780518252601f199092019160209182019101611ab8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451611b189591949190910192509050612cd9565b50505050565b600054600160a060020a03163314611b3557600080fd5b611b3e816121e0565b50565b60606001836040518082805190602001908083835b60208310611b755780518252601f199092019160209182019101611b56565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b60208310611bd15780518252601f199092019160209182019101611bb2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611c855780601f10611c5a57610100808354040283529160200191611c85565b820191906000526020600020905b815481529060010190602001808311611c6857829003601f168201915b5050505050905092915050565b600082821115611c9e57fe5b50900390565b60608060008181851515611ced5760408051808201909152600181527f300000000000000000000000000000000000000000000000000000000000000060208201529450611dfa565b6040805160208082528183019092529080820161040080388339019050509350600092505b6000861115611d5f57600a860660300160f860020a028484815181101515611d3657fe5b906020010190600160f860020a031916908160001a905350600a86049550600190920191611d12565b60408051848152601f19601f86011681016020019091526000198401938015611d92578160200160208202803883390190505b509150600090505b8151811015611df657835160001984019385918110611db557fe5b90602001015160f860020a900460f860020a028282815181101515611dd657fe5b906020010190600160f860020a031916908160001a905350600101611d9a565b8194505b50505050919050565b611e0b612d57565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015611e69578160200160208202803883390190505b509150602082019050611e85818660200151876000015161225d565b845160208501518551611e9b928401919061225d565b509392505050565b611eab612d6e565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b611efe612d9b565b60408051606081018252600080825282518181526020818101909452919283019190611f40565b611f2d612dbf565b815260200190600190039081611f255790505b5081526020016000604051908082528060200260200182016040528015611f7b57816020015b6060815260200190600190039081611f665790505b509052905090565b60408051808201909152600a81527f7b227469746c65223a22000000000000000000000000000000000000000000006020820152815160609190600090611fd690611fcd90611e03565b61095784611e03565b9150612019611fcd6040805190810160405280600f81526020017f222c2273686f727444657363223a220000000000000000000000000000000000815250611e03565b915061202b611fcd8560200151611e03565b915061206e611fcd6040805190810160405280600e81526020017f222c226c6f6e6744657363223a22000000000000000000000000000000000000815250611e03565b9150612080611fcd8560400151611e03565b91506120c3611fcd6040805190810160405280600a81526020017f222c227769647468223a00000000000000000000000000000000000000000000815250611e03565b91506120d8611fcd6109148660600151611ca4565b915061211b611fcd6040805190810160405280600d81526020017f2c22656c656d656e7473223a5b00000000000000000000000000000000000000815250611e03565b9150600090505b83608001515181101561219757600081111561216357612160611fcd60408051908101604052806001815260200160fa60020a600b02815250611e03565b91505b61218d611fcd61091486608001518481518110151561217e57fe5b906020019060200201516122a1565b9150600101612122565b6121d8611fcd6040805190810160405280600281526020017f5d7d000000000000000000000000000000000000000000000000000000000000815250611e03565b949350505050565b600160a060020a03811615156121f557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005b60208210612282578251845260209384019390920191601f1990910190612260565b50905182516020929092036101000a6000190180199091169116179052565b606080826000015115612554576040805190810160405280600781526020017f7b226964223a220000000000000000000000000000000000000000000000000081525090506122ff6122f68460200151611e03565b61095783611e03565b90506123426122f66040805190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250611e03565b60a084015151909150156123a9576123916122f66040805190810160405280600b81526020017f2c2022616374696f6e223a000000000000000000000000000000000000000000815250611e03565b90506123a66122f66109148560a0015161258f565b90505b60c0830151511561240d576123f56122f66040805190810160405280600a81526020017f2c20227461626c65223a00000000000000000000000000000000000000000000815250611e03565b905061240a6122f66109148560c00151612732565b90505b61244e6122f66040805190810160405280600981526020017f2c2274797065223a220000000000000000000000000000000000000000000000815250611e03565b90506124606122f68460400151611e03565b90506124a36122f66040805190810160405280600b81526020017f222c226c6162656c223a22000000000000000000000000000000000000000000815250611e03565b90506124b56122f68460600151611e03565b90506124f86122f66040805190810160405280600981526020017f222c2264617461223a0000000000000000000000000000000000000000000000815250611e03565b905061250a6122f68460800151611e03565b905061254d6122f66040805190810160405280600181526020017f7d00000000000000000000000000000000000000000000000000000000000000815250611e03565b9150611e26565b60408051808201909152600481527f6e756c6c0000000000000000000000000000000000000000000000000000000060208201529150611e26565b606080826000015115612554576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506125f06122f66109148560200151600160a060020a0316612949565b90506126336122f66040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a2200000000000000000000815250611e03565b90506126456122f68460400151611e03565b90506126886122f66040805190810160405280600e81526020017f222c22617267756d656e7473223a000000000000000000000000000000000000815250611e03565b905061269a6122f68460600151611e03565b90506126dd6122f66040805190810160405280600c81526020017f2c22636f6e6669726d223a220000000000000000000000000000000000000000815250611e03565b90506126ef6122f68460800151611e03565b905061254d6122f66040805190810160405280600281526020017f227d000000000000000000000000000000000000000000000000000000000000815250611e03565b60608060008084600001511561290a57505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b8460200151518110156128005760008211156127c8576127c56127bc60408051908101604052806001815260200160fa60020a600b02815250611e03565b61095785611e03565b92505b6127f26127bc6109148760200151848151811015156127e357fe5b90602001906020020151612a8c565b92506001918201910161277e565b6128416127bc6040805190810160405280600a81526020017f5d2c22726f7773223a5b00000000000000000000000000000000000000000000815250611e03565b925060009150600090505b8460400151518110156128c257600082111561288d5761288a6127bc60408051908101604052806001815260200160fa60020a600b02815250611e03565b92505b6128b46127bc8660400151838151811015156128a557fe5b90602001906020020151611e03565b92506001918201910161284c565b6129036127bc6040805190810160405280600281526020017f5d7d000000000000000000000000000000000000000000000000000000000000815250611e03565b9350612941565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f30000000000000000000000000000000000000000000000000000000000000009186915060009081106129a557fe5b906020010190600160f860020a031916908160001a90535083517f780000000000000000000000000000000000000000000000000000000000000090859060019081106129ee57fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015612a8257506030600f8316016039600160a060020a0382161115612a35576027015b8060f860020a028483602803600101815181101515612a5057fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190612a0e565b5091949350505050565b606080826000015115612554576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050612ae16122f68460200151611e03565b9050612b246122f66040805190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250611e03565b60808401515190915015612bb557612b5a6122f660408051908101604052806001815260200160fa60020a600b02815250611e03565b9050612b9d6122f66040805190810160405280600981526020017f22616374696f6e223a0000000000000000000000000000000000000000000000815250611e03565b9050612bb26122f6610914856080015161258f565b90505b612bf66122f66040805190810160405280600981526020017f2c2274797065223a220000000000000000000000000000000000000000000000815250611e03565b9050612c086122f68460400151611e03565b9050612c4b6122f66040805190810160405280600b81526020017f222c226c6162656c223a22000000000000000000000000000000000000000000815250611e03565b90506126ef6122f68460600151611e03565b60a06040519081016040528060608152602001606081526020016060815260200160008152602001606081525090565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001612cc7612d6e565b8152602001612cd4612d9b565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d1a57805160ff1916838001178555612d47565b82800160010185558215612d47579182015b82811115612d47578251825591602001919060010190612d2c565b50612d53929150612df2565b5090565b604080518082019091526000808252602082015290565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b61012060405190810160405280600015158152602001606081526020016060815260200160608152602001612cd4612d6e565b611ef391905b80821115612d535760008155600101612df85600a165627a7a72305820300c9aded437f4e0e0c6def7ab37427491bf29772c7cfe5ab6a27d833bb23b8b0029",
  "deployedBytecode": "0x6080604052600436106100b65763ffffffff60e060020a6000350416633e36f4c781146100bb5780634445d4a514610145578063715018a61461015a5780638b582712146101715780638da5cb5b146101865780639e360e64146101b7578063a83e9a3d146101cc578063ac5c6e12146101e1578063b51ce63d146101f6578063ca1a70be1461020b578063d17891761461026f578063ed3487fe14610284578063f2fde38b14610359578063f65a5c1b1461037a575b600080fd5b3480156100c757600080fd5b506100d0610411565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010a5781810151838201526020016100f2565b50505050905090810190601f1680156101375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015157600080fd5b506100d0610448565b34801561016657600080fd5b5061016f61047f565b005b34801561017d57600080fd5b506100d06104eb565b34801561019257600080fd5b5061019b610522565b60408051600160a060020a039092168252519081900360200190f35b3480156101c357600080fd5b506100d0610531565b3480156101d857600080fd5b506100d0610568565b3480156101ed57600080fd5b506100d061059f565b34801561020257600080fd5b506100d06105d6565b34801561021757600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100d094369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061060d92505050565b34801561027b57600080fd5b506100d06119fa565b34801561029057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261016f94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611a319650505050505050565b34801561036557600080fd5b5061016f600160a060020a0360043516611b1e565b34801561038657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100d094369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611b419650505050505050565b60408051808201909152600481527f6d696e7400000000000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600b81527f6d696e745f746f6b656e73000000000000000000000000000000000000000000602082015281565b600054600160a060020a0316331461049657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60408051808201909152600a81527f73686f72745f6465736300000000000000000000000000000000000000000000602082015281565b600054600160a060020a031681565b60408051808201909152600c81527f6d696e745f636f6e6669726d0000000000000000000000000000000000000000602082015281565b60408051808201909152600c81527f6d696e7461626c655f6574680000000000000000000000000000000000000000602082015281565b60408051808201909152600981527f6c6f6e675f646573630000000000000000000000000000000000000000000000602082015281565b60408051808201909152600781527f6164647265737300000000000000000000000000000000000000000000000000602082015281565b60606000806000606061061e612c5d565b86600160a060020a0316634bf365df6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b505180156106fa575086600160a060020a031663186601ca6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b505050506040513d60208110156106f757600080fd5b50515b156119dd5786600160a060020a0316632154dc396040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561073d57600080fd5b505af1158015610751573d6000803e3d6000fd5b505050506040513d602081101561076757600080fd5b5051604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051919650600160a060020a038916916318160ddd916004808201926020929091908290030181600087803b1580156107c857600080fd5b505af11580156107dc573d6000803e3d6000fd5b505050506040513d60208110156107f257600080fd5b50519350838511610804576000610814565b610814858563ffffffff611c9216565b60408051600480825260a08201909252919450816020015b610834612c8d565b81526020019060019003908161082c57905050915060e0604051908101604052806001151581526020016040805190810160405280600c81526020017f6d696e7461626c655f657468000000000000000000000000000000000000000081525081526020016109636109196109148b600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108e057600080fd5b505af11580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b505160ff16611ca4565b611e03565b6109576040805190810160405280600581526020017f746f6b656e000000000000000000000000000000000000000000000000000000815250611e03565b9063ffffffff611e2c16565b815260200160018a6040518082805190602001908083835b6020831061099a5780518252601f19909201916020918201910161097b565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600c8087527f6d696e7461626c655f657468000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610a255780518252601f199092019160209182019101610a06565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050505050815260200186600014610af957610af485611ca4565b610b2e565b60408051808201909152600581527f22e2889e2200000000000000000000000000000000000000000000000000000060208201525b8152602001610b3b611ea3565b8152602001610b48611ef6565b9052825183906000908110610b5957fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600781526020017f616464726573730000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600b81526020017f6164647265737345646974000000000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b60208310610c235780518252601f199092019160209182019101610c04565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260078087527f616464726573730000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610cae5780518252601f199092019160209182019101610c8f565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610d625780601f10610d3757610100808354040283529160200191610d62565b820191906000526020600020905b815481529060010190602001808311610d4557829003601f168201915b505050505081526020016040805190810160405280600281526020017f22220000000000000000000000000000000000000000000000000000000000008152508152602001610daf611ea3565b8152602001610dbc611ef6565b9052825183906001908110610dcd57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f616d6f756e7400000000000000000000000000000000000000000000000000008152508152602001610eaf610e716109148b600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156108e057600080fd5b6109576040805190810160405280600981526020017f746f6b656e456469740000000000000000000000000000000000000000000000815250611e03565b815260200160018a6040518082805190602001908083835b60208310610ee65780518252601f199092019160209182019101610ec7565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f616d6f756e74000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610f715780518252601f199092019160209182019101610f52565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b505050505081526020016040805190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152508152602001611072611ea3565b815260200161107f611ef6565b905282518390600290811061109057fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600481526020017f6d696e740000000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f627574746f6e0000000000000000000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b6020831061115a5780518252601f19909201916020918201910161113b565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260048087527f6d696e740000000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106111e55780518252601f1990920191602091820191016111c6565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156112995780601f1061126e57610100808354040283529160200191611299565b820191906000526020600020905b81548152906001019060200180831161127c57829003601f168201915b505050505081526020016040805190810160405280600481526020017f6e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160a0604051908101604052806001151581526020018a600160a060020a031681526020016040805190810160405280600681526020017f6d696e74282900000000000000000000000000000000000000000000000000008152508152602001606060405190810160405280602581526020017f7b2261646472657373223a2261646472657373222c22616d6f756e74223a227581526020017f696e74227d000000000000000000000000000000000000000000000000000000815250815260200160018c6040518082805190602001908083835b602083106113d15780518252601f1990920191602091820191016113b2565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600c8087527f6d696e745f636f6e6669726d000000000000000000000000000000000000000093870193845291519095945092508291908083835b6020831061145c5780518252601f19909201916020918201910161143d565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156115105780601f106114e557610100808354040283529160200191611510565b820191906000526020600020905b8154815290600101906020018083116114f357829003601f168201915b50505050508152508152602001611525611ef6565b905282518390600390811061153657fe5b9060200190602002018190525060a06040519081016040528060018a6040518082805190602001908083835b602083106115815780518252601f199092019160209182019101611562565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600b8087527f6d696e745f746f6b656e7300000000000000000000000000000000000000000093870193845291519095945092508291908083835b6020831061160c5780518252601f1990920191602091820191016115ed565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156116c05780601f10611695576101008083540402835291602001916116c0565b820191906000526020600020905b8154815290600101906020018083116116a357829003601f168201915b5050505050815260200160018a6040518082805190602001908083835b602083106116fc5780518252601f1990920191602091820191016116dd565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a8087527f73686f72745f646573630000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106117875780518252601f199092019160209182019101611768565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f600260018316159098029095011695909504928301829004820288018201905281875292945092505083018282801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b5050505050815260200160018a6040518082805190602001908083835b602083106118775780518252601f199092019160209182019101611858565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260098087527f6c6f6e675f64657363000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106119025780518252601f1990920191602091820191016118e3565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156119b65780601f1061198b576101008083540402835291602001916119b6565b820191906000526020600020905b81548152906001019060200180831161199957829003601f168201915b50505050508152602001600481526020018381525090506119d681611f83565b95506119ef565b60408051602081019091526000815295505b505050505092915050565b60408051808201909152600681527f616d6f756e740000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314611a4857600080fd5b806001846040518082805190602001908083835b60208310611a7b5780518252601f199092019160209182019101611a5c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b60208310611ad75780518252601f199092019160209182019101611ab8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451611b189591949190910192509050612cd9565b50505050565b600054600160a060020a03163314611b3557600080fd5b611b3e816121e0565b50565b60606001836040518082805190602001908083835b60208310611b755780518252601f199092019160209182019101611b56565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b60208310611bd15780518252601f199092019160209182019101611bb2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611c855780601f10611c5a57610100808354040283529160200191611c85565b820191906000526020600020905b815481529060010190602001808311611c6857829003601f168201915b5050505050905092915050565b600082821115611c9e57fe5b50900390565b60608060008181851515611ced5760408051808201909152600181527f300000000000000000000000000000000000000000000000000000000000000060208201529450611dfa565b6040805160208082528183019092529080820161040080388339019050509350600092505b6000861115611d5f57600a860660300160f860020a028484815181101515611d3657fe5b906020010190600160f860020a031916908160001a905350600a86049550600190920191611d12565b60408051848152601f19601f86011681016020019091526000198401938015611d92578160200160208202803883390190505b509150600090505b8151811015611df657835160001984019385918110611db557fe5b90602001015160f860020a900460f860020a028282815181101515611dd657fe5b906020010190600160f860020a031916908160001a905350600101611d9a565b8194505b50505050919050565b611e0b612d57565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015611e69578160200160208202803883390190505b509150602082019050611e85818660200151876000015161225d565b845160208501518551611e9b928401919061225d565b509392505050565b611eab612d6e565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b611efe612d9b565b60408051606081018252600080825282518181526020818101909452919283019190611f40565b611f2d612dbf565b815260200190600190039081611f255790505b5081526020016000604051908082528060200260200182016040528015611f7b57816020015b6060815260200190600190039081611f665790505b509052905090565b60408051808201909152600a81527f7b227469746c65223a22000000000000000000000000000000000000000000006020820152815160609190600090611fd690611fcd90611e03565b61095784611e03565b9150612019611fcd6040805190810160405280600f81526020017f222c2273686f727444657363223a220000000000000000000000000000000000815250611e03565b915061202b611fcd8560200151611e03565b915061206e611fcd6040805190810160405280600e81526020017f222c226c6f6e6744657363223a22000000000000000000000000000000000000815250611e03565b9150612080611fcd8560400151611e03565b91506120c3611fcd6040805190810160405280600a81526020017f222c227769647468223a00000000000000000000000000000000000000000000815250611e03565b91506120d8611fcd6109148660600151611ca4565b915061211b611fcd6040805190810160405280600d81526020017f2c22656c656d656e7473223a5b00000000000000000000000000000000000000815250611e03565b9150600090505b83608001515181101561219757600081111561216357612160611fcd60408051908101604052806001815260200160fa60020a600b02815250611e03565b91505b61218d611fcd61091486608001518481518110151561217e57fe5b906020019060200201516122a1565b9150600101612122565b6121d8611fcd6040805190810160405280600281526020017f5d7d000000000000000000000000000000000000000000000000000000000000815250611e03565b949350505050565b600160a060020a03811615156121f557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005b60208210612282578251845260209384019390920191601f1990910190612260565b50905182516020929092036101000a6000190180199091169116179052565b606080826000015115612554576040805190810160405280600781526020017f7b226964223a220000000000000000000000000000000000000000000000000081525090506122ff6122f68460200151611e03565b61095783611e03565b90506123426122f66040805190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250611e03565b60a084015151909150156123a9576123916122f66040805190810160405280600b81526020017f2c2022616374696f6e223a000000000000000000000000000000000000000000815250611e03565b90506123a66122f66109148560a0015161258f565b90505b60c0830151511561240d576123f56122f66040805190810160405280600a81526020017f2c20227461626c65223a00000000000000000000000000000000000000000000815250611e03565b905061240a6122f66109148560c00151612732565b90505b61244e6122f66040805190810160405280600981526020017f2c2274797065223a220000000000000000000000000000000000000000000000815250611e03565b90506124606122f68460400151611e03565b90506124a36122f66040805190810160405280600b81526020017f222c226c6162656c223a22000000000000000000000000000000000000000000815250611e03565b90506124b56122f68460600151611e03565b90506124f86122f66040805190810160405280600981526020017f222c2264617461223a0000000000000000000000000000000000000000000000815250611e03565b905061250a6122f68460800151611e03565b905061254d6122f66040805190810160405280600181526020017f7d00000000000000000000000000000000000000000000000000000000000000815250611e03565b9150611e26565b60408051808201909152600481527f6e756c6c0000000000000000000000000000000000000000000000000000000060208201529150611e26565b606080826000015115612554576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506125f06122f66109148560200151600160a060020a0316612949565b90506126336122f66040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a2200000000000000000000815250611e03565b90506126456122f68460400151611e03565b90506126886122f66040805190810160405280600e81526020017f222c22617267756d656e7473223a000000000000000000000000000000000000815250611e03565b905061269a6122f68460600151611e03565b90506126dd6122f66040805190810160405280600c81526020017f2c22636f6e6669726d223a220000000000000000000000000000000000000000815250611e03565b90506126ef6122f68460800151611e03565b905061254d6122f66040805190810160405280600281526020017f227d000000000000000000000000000000000000000000000000000000000000815250611e03565b60608060008084600001511561290a57505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b8460200151518110156128005760008211156127c8576127c56127bc60408051908101604052806001815260200160fa60020a600b02815250611e03565b61095785611e03565b92505b6127f26127bc6109148760200151848151811015156127e357fe5b90602001906020020151612a8c565b92506001918201910161277e565b6128416127bc6040805190810160405280600a81526020017f5d2c22726f7773223a5b00000000000000000000000000000000000000000000815250611e03565b925060009150600090505b8460400151518110156128c257600082111561288d5761288a6127bc60408051908101604052806001815260200160fa60020a600b02815250611e03565b92505b6128b46127bc8660400151838151811015156128a557fe5b90602001906020020151611e03565b92506001918201910161284c565b6129036127bc6040805190810160405280600281526020017f5d7d000000000000000000000000000000000000000000000000000000000000815250611e03565b9350612941565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f30000000000000000000000000000000000000000000000000000000000000009186915060009081106129a557fe5b906020010190600160f860020a031916908160001a90535083517f780000000000000000000000000000000000000000000000000000000000000090859060019081106129ee57fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015612a8257506030600f8316016039600160a060020a0382161115612a35576027015b8060f860020a028483602803600101815181101515612a5057fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190612a0e565b5091949350505050565b606080826000015115612554576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050612ae16122f68460200151611e03565b9050612b246122f66040805190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250611e03565b60808401515190915015612bb557612b5a6122f660408051908101604052806001815260200160fa60020a600b02815250611e03565b9050612b9d6122f66040805190810160405280600981526020017f22616374696f6e223a0000000000000000000000000000000000000000000000815250611e03565b9050612bb26122f6610914856080015161258f565b90505b612bf66122f66040805190810160405280600981526020017f2c2274797065223a220000000000000000000000000000000000000000000000815250611e03565b9050612c086122f68460400151611e03565b9050612c4b6122f66040805190810160405280600b81526020017f222c226c6162656c223a22000000000000000000000000000000000000000000815250611e03565b90506126ef6122f68460600151611e03565b60a06040519081016040528060608152602001606081526020016060815260200160008152602001606081525090565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001612cc7612d6e565b8152602001612cd4612d9b565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d1a57805160ff1916838001178555612d47565b82800160010185558215612d47579182015b82811115612d47578251825591602001919060010190612d2c565b50612d53929150612df2565b5090565b604080518082019091526000808252602082015290565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b61012060405190810160405280600015158152602001606081526020016060815260200160608152602001612cd4612d6e565b611ef391905b80821115612d535760008155600101612df85600a165627a7a72305820300c9aded437f4e0e0c6def7ab37427491bf29772c7cfe5ab6a27d833bb23b8b0029",
  "sourceMap": "186:2835:14:-;;;567:5:43;:18;;-1:-1:-1;;;;;;567:18:43;575:10;567:18;;;186:2835:14;;;;;;",
  "deployedSourceMap": "186:2835:14:-;;;;;;;;;-1:-1:-1;;;186:2835:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;692:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;692:36:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;692:36:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;378:50:14;;;;1001:111:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:43;;;;;;434:48:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;434:48:14;;;;238:20:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:43;;;;;;;;-1:-1:-1;;;;;238:20:43;;;;;;;;;;;;;;734:52:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;734:52:14;;;;540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;540:52:14;;;;488:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;488:46:14;;;;598:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:42:14;;;;793:2226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;793:2226:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;793:2226:14;;-1:-1:-1;;;793:2226:14;;-1:-1:-1;;;;;793:2226:14;;-1:-1:-1;793:2226:14;;-1:-1:-1;;;793:2226:14;646:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;646:40:14;;;;186:126:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:33;;;;-1:-1:-1;186:126:33;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;;;;;;;-1:-1:-1;;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:33;;;;-1:-1:-1;186:126:33;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;;;;;;;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;-1:-1:-1;;;;;;;186:126:33;1274:103:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:43;-1:-1:-1;;;;;1274:103:43;;;;;318:120:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;318:120:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;318:120:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;318:120:33;;;;-1:-1:-1;318:120:33;-1:-1:-1;318:120:33;;-1:-1:-1;318:120:33;;;;;;;;-1:-1:-1;318:120:33;;-1:-1:-1;318:120:33;;-1:-1:-1;;;;;;;318:120:33;692:36:14;;;;;;;;;;;;;;;;;;;:::o;378:50::-;;;;;;;;;;;;;;;;;;;:::o;1001:111:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:43;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:43;;;1001:111::o;434:48:14:-;;;;;;;;;;;;;;;;;;;:::o;238:20:43:-;;;-1:-1:-1;;;;;238:20:43;;:::o;734:52:14:-;;;;;;;;;;;;;;;;;;;:::o;540:::-;;;;;;;;;;;;;;;;;;;:::o;488:46::-;;;;;;;;;;;;;;;;;;;:::o;598:42::-;;;;;;;;;;;;;;;;;;;:::o;793:2226::-;866:6;943:16;996;1049;1142:34;2678:28;;:::i;:::-;888:6;-1:-1:-1;;;;;888:15:14;;:17;;;;;-1:-1:-1;;;888:17:14;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;888:17:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;888:17:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;888:17:14;:39;;;;;909:6;-1:-1:-1;;;;;909:16:14;;:18;;;;;-1:-1:-1;;;909:18:14;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;909:18:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;909:18:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;909:18:14;888:39;884:2129;;;962:6;-1:-1:-1;;;;;962:18:14;;:20;;;;;-1:-1:-1;;;962:20:14;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;962:20:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;962:20:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;962:20:14;1015;;;;;;;;962;;-1:-1:-1;;;;;;1015:18:14;;;;;:20;;;;;962;;1015;;;;;;;;;:18;:20;;;5:2:-1;;;;30:1;27;20:12;5:2;1015:20:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1015:20:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1015:20:14;;-1:-1:-1;1068:25:14;;;:60;;1127:1;1068:60;;;1096:28;:11;1112;1096:28;:15;:28;:::i;:::-;1179:25;;;1202:1;1179:25;;;;;;;;;1049:79;;-1:-1:-1;1179:25:14;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1142:62;;1232:354;;;;;;;;;1266:4;1232:354;;;;;;1288:12;;;;;;;;;;;;;;;;;;1232:354;;;;1318:70;1343:44;:34;1348:6;-1:-1:-1;;;;;1348:15:14;;:17;;;;;-1:-1:-1;;;1348:17:14;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1348:17:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1348:17:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1348:17:14;1343:23;;:32;:34::i;:::-;:42;:44::i;:::-;1318:17;:15;;;;;;;;;;;;;;;;;;;:17::i;:::-;:24;:70;:24;:70;:::i;:::-;1232:354;;;;1406:9;1416:7;1406:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1406:18:14;;;;;-1:-1:-1;1406:18:14;;;;;;;;;;;1425:12;;;;;;;;;;;;;;;;1406:32;;:18;;;-1:-1:-1;1406:32:14;-1:-1:-1;1406:32:14;;1425:12;;1406:32;1425:12;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;1406:32:14;;;;;;;;;;;;;;;;;;1232:354;;;;274:1:-1;1232:354:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1406:32;;-1:-1:-1;1232:354:14;-1:-1:-1;;1232:354:14;;1406:32;1232:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1456:11;1471:1;1456:16;:51;;1485:22;:11;:20;:22::i;:::-;1456:51;;;;;;;;;;;;;;;;;;;;;1232:354;;;;1525:15;:13;:15::i;:::-;1232:354;;;;1558:14;:12;:14::i;:::-;1232:354;;1218:11;;:8;;1227:1;;1218:11;;;;;;;;;;;;;:368;;;;1614:240;;;;;;;;;1648:4;1614:240;;;;;;1670:7;;;;;;;;;;;;;;;;;;1614:240;;;;;;;;;;;;;;;;;;;;;;;;;;1726:9;1736:7;1726:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1726:18:14;;;;;-1:-1:-1;1726:18:14;;;;;;;;;;;1745:7;;;;;;;;;;;;;;;;1726:27;;:18;;;-1:-1:-1;1726:27:14;-1:-1:-1;1726:27:14;;1745:7;;1726:27;1745:7;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;1726:27:14;;;;;;;;;;;;;;;;;;1614:240;;;;274:1:-1;1614:240:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1726:27;;-1:-1:-1;1614:240:14;-1:-1:-1;;1614:240:14;;1726:27;1614:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1793:15;:13;:15::i;:::-;1614:240;;;;1826:14;:12;:14::i;:::-;1614:240;;1600:11;;:8;;1609:1;;1600:11;;;;;;;;;;;;;:254;;;;1882:298;;;;;;;;;1916:4;1882:298;;;;;;1938:6;;;;;;;;;;;;;;;;;;1882:298;;;;1962:74;1991:44;:34;1996:6;-1:-1:-1;;;;;1996:15:14;;:17;;;;;-1:-1:-1;;;1996:17:14;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;1991:44:14;1962:21;:19;;;;;;;;;;;;;;;;;;;:21::i;:74::-;1882:298;;;;2054:9;2064:7;2054:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2054:18:14;;;;;-1:-1:-1;2054:18:14;;;;;;;;;;;2073:6;;;;;;;;;;;;;;;;2054:26;;:18;;;-1:-1:-1;2054:26:14;-1:-1:-1;2054:26:14;;2073:6;;2054:26;2073:6;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2054:26:14;;;;;;;;;;;;;;;;;;1882:298;;;;274:1:-1;1882:298:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2054:26;;-1:-1:-1;1882:298:14;-1:-1:-1;;1882:298:14;;2054:26;1882:298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2119:15;:13;:15::i;:::-;1882:298;;;;2152:14;:12;:14::i;:::-;1882:298;;1868:11;;:8;;1877:1;;1868:11;;;;;;;;;;;;;:312;;;;2208:456;;;;;;;;;2242:4;2208:456;;;;;;2264:4;;;;;;;;;;;;;;;;;;2208:456;;;;;;;;;;;;;;;;;;;;;;;;;;2312:9;2322:7;2312:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2312:18:14;;;;;-1:-1:-1;2312:18:14;;;;;;;;;;;2331:4;;;;;;;;;;;;;;;;2312:24;;:18;;;-1:-1:-1;2312:24:14;-1:-1:-1;2312:24:14;;2331:4;;2312:24;2331:4;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2312:24:14;;;;;;;;;;;;;;;;;;2208:456;;;;274:1:-1;2208:456:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:24;;-1:-1:-1;2208:456:14;-1:-1:-1;;2208:456:14;;2312:24;2208:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2378:240;;;;;;;;;2414:4;2378:240;;;;;;2448:6;-1:-1:-1;;;;;2378:240:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2568:9;2578:7;2568:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2568:18:14;;;;;-1:-1:-1;2568:18:14;;;;;;;;;;;2587:12;;;;;;;;;;;;;;;;2568:32;;:18;;;-1:-1:-1;2568:32:14;-1:-1:-1;2568:32:14;;2587:12;;2568:32;2587:12;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2568:32:14;;;;;;;;;;;;;;;;;;2378:240;;;;274:1:-1;2378:240:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2568:32;;-1:-1:-1;2378:240:14;-1:-1:-1;;2378:240:14;;2568:32;2378:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2208:456;;;;2636:14;:12;:14::i;:::-;2208:456;;2194:11;;:8;;2203:1;;2194:11;;;;;;;;;;;;;:470;;;;2709:217;;;;;;;;;2741:9;2751:7;2741:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2741:18:14;;;;;-1:-1:-1;2741:18:14;;;;;;;;;;;2760:11;;;;;;;;;;;;;;;;2741:31;;:18;;;-1:-1:-1;2741:31:14;-1:-1:-1;2741:31:14;;2760:11;;2741:31;2760:11;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2741:31:14;;;;;;;;;;;;;;;;;;2709:217;;;;274:1:-1;2709:217:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2741:31;;-1:-1:-1;2709:217:14;-1:-1:-1;;2709:217:14;;2741:31;2709:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:9;2800:7;2790:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2790:18:14;;;;;-1:-1:-1;2790:18:14;;;;;;;;;;;2809:10;;;;;;;;;;;;;;;;2790:30;;:18;;;-1:-1:-1;2790:30:14;-1:-1:-1;2790:30:14;;2809:10;;2790:30;2809:10;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2790:30:14;;;;;;;;;;;;;;;;;;2709:217;;;;274:1:-1;2709:217:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:30;;-1:-1:-1;2709:217:14;-1:-1:-1;;2709:217:14;;2790:30;2709:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2838:9;2848:7;2838:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;2838:18:14;;;;;-1:-1:-1;2838:18:14;;;;;;;;;;;2857:9;;;;;;;;;;;;;;;;2838:29;;:18;;;-1:-1:-1;2838:29:14;-1:-1:-1;2838:29:14;;2857:9;;2838:29;2857:9;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;2838:29:14;;;;;;;;;;;;;;;;;;2709:217;;;;274:1:-1;2709:217:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2838:29;;-1:-1:-1;2709:217:14;-1:-1:-1;;2709:217:14;;2838:29;2709:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:1;2709:217;;;;2904:8;2709:217;;;2678:248;;2947:15;:6;:13;:15::i;:::-;2940:22;;;;884:2129;2993:9;;;;;;;;;-1:-1:-1;2993:9:14;;;-1:-1:-1;884:2129:14;793:2226;;;;;;;;;:::o;646:40::-;;;;;;;;;;;;;;;;;;;:::o;186:126:33:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;300:5:33;275:9;285:6;275:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;275:17:33;;;;;-1:-1:-1;275:17:33;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;275:17:33;-1:-1:-1;275:17:33;;:22;;;;:17;:22;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;275:22:33;;;;;-1:-1:-1;275:22:33;;;;;;;;;;;:30;;;;:22;;:30;;;;;-1:-1:-1;275:30:33;-1:-1:-1;275:30:33;:::i;:::-;;186:126;;;:::o;1274:103:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;318:120:33:-;384:6;409:9;419:6;409:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;409:17:33;;;;;-1:-1:-1;409:17:33;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;409:17:33;-1:-1:-1;409:17:33;;:22;;;;:17;:22;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;409:22:33;;;;;;;;;;;;;;;;;;402:29;;;;274:1:-1;402:29:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;409:22;;-1:-1:-1;402:29:33;-1:-1:-1;;402:29:33;;409:22;402:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;318:120;;;;:::o;1060:116:42:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:42;;;1060:116::o;50:483:29:-;103:6;;231;103;231;132:10;;128:51;;;158:10;;;;;;;;;;;;;;;;;;-1:-1:-1;158:10:29;;128:51;208:13;;;218:2;208:13;;;;;;;;;;;;;17:15:-1;;105:10;208:13:29;88:34:-1;136:17;;-1:-1;208:13:29;188:33;;256:1;252:5;;247:111;267:1;259:5;:9;247:111;;;313:2;305:5;:10;319:2;304:17;-1:-1:-1;;;299:23:29;289:4;294:1;289:7;;;;;;;;;;;;;;:33;-1:-1:-1;;;;;289:33:29;;;;;;;;-1:-1:-1;345:2:29;336:11;;;-1:-1:-1;270:3:29;;;;;247:111;;;388:14;;;;;;-1:-1:-1;;388:14:29;;;;;;;;;;;-1:-1:-1;;398:3:29;;;388:14;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;388:14:29;;367:35;;426:1;417:10;;412:85;433:5;:12;429:1;:16;412:85;;;477:9;;-1:-1:-1;;482:3:29;;;477:4;;:9;;;;;;;;;;;-1:-1:-1;;;477:9:29;;-1:-1:-1;;;477:9:29;466:5;472:1;466:8;;;;;;;;;;;;;;:20;-1:-1:-1;;;;;466:20:29;;;;;;;;-1:-1:-1;447:3:29;;412:85;;;520:5;506:20;;50:483;;;;;;;;:::o;2837:210:30:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:30;;;;;;;;;3016:18;;3010:30;;2979:4;2969:15;;;3010:30;;;;;;2837:210;;;;;:::o;23944:355::-;24022:6;24047:17;24111:11;24090:5;:10;;;24078:4;:9;;;:22;24067:34;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;24067:34:30;;24047:54;;24162:2;24157:3;24153:12;24143:22;;24176:36;24183:6;24191:4;:9;;;24202:4;:9;;;24176:6;:36::i;:::-;24238:9;;24249:10;;;;24261;;24222:50;;24229:18;;;24249:10;24222:6;:50::i;:::-;-1:-1:-1;24289:3:30;23944:355;-1:-1:-1;;;23944:355:30:o;329:116:31:-;369:6;;:::i;:::-;-1:-1:-1;401:37:31;;;;;;;;-1:-1:-1;401:37:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;329:116;;:::o;374:124:35:-;414:5;;:::i;:::-;445:46;;;;;;;;-1:-1:-1;445:46:35;;;458:15;;;;;445:46;458:15;;;;;;445:46;;;;;458:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;445:46;;;;488:1;475:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;445:46:35;;438:53;-1:-1:-1;374:124:35;:::o;392:943:36:-;470:33;;;;;;;;;;;;;;;;;542:11;;452:6;;470:33;1040:6;;520:44;;542:21;;:19;:21::i;:::-;520:14;:4;:12;:14::i;:44::-;513:51;;581:50;603:27;:25;;;;;;;;;;;;;;;;;;;:27::i;581:50::-;574:57;;648:48;670:25;:5;:15;;;:23;:25::i;648:48::-;641:55;;713:49;735:26;:24;;;;;;;;;;;;;;;;;;;:26::i;713:49::-;706:56;;779:47;801:24;:5;:14;;;:22;:24::i;779:47::-;772:54;;843:45;865:22;:20;;;;;;;;;;;;;;;;;;;:22::i;843:45::-;836:52;;905:55;927:32;:22;:5;:11;;;:20;:22::i;905:55::-;898:62;;977:48;999:25;:23;;;;;;;;;;;;;;;;;;;:25::i;977:48::-;970:55;;1049:1;1040:10;;1035:240;1056:5;:14;;;:21;1052:1;:25;1035:240;;;1106:1;1102;:5;1098:87;;;1134:36;1156:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1156:11:36;;;;:13::i;1134:36::-;1127:43;;1098:87;1205:59;1227:36;:26;:5;:14;;;1242:1;1227:17;;;;;;;;;;;;;;;;;;:24;:26::i;1205:59::-;1198:66;-1:-1:-1;1079:3:36;;1035:240;;;1291:37;1313:14;:12;;;;;;;;;;;;;;;;;;;:14::i;1291:37::-;1284:44;392:943;-1:-1:-1;;;;392:943:36:o;1512:171:43:-;-1:-1:-1;;;;;1582:23:43;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:43;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:43;-1:-1:-1;;;;;1661:17:43;;;;;;;;;;1512:171::o;2089:548:30:-;2415:9;2209:164;2222:2;2215:9;;2209:164;;2291:10;;2278:24;;2337:2;2329:10;;;;2353:9;;;;-1:-1:-1;;2226:9:30;;;;2209:164;;;-1:-1:-1;2500:10:30;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:30;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;568:1172:32:-;629:6;679:18;651:5;:12;;;647:1087;;;679:30;;;;;;;;;;;;;;;;;;;;730:41;752:18;:5;:8;;;:16;:18::i;:::-;730:14;:4;:12;:14::i;:41::-;723:48;;792:36;814:13;:11;;;;;;;;;;;;;;;;;;;:13::i;792:36::-;846:12;;;;:19;785:43;;-1:-1:-1;842:190:32;;;892:46;914:23;:21;;;;;;;;;;;;;;;;;;;:23::i;892:46::-;885:53;;963:54;985:31;:21;:5;:12;;;:19;:21::i;963:54::-;956:61;;842:190;1049:11;;;;:18;1045:187;;;1094:45;1116:22;:20;;;;;;;;;;;;;;;;;;;:22::i;1094:45::-;1087:52;;1164:53;1186:30;:20;:5;:11;;;:18;:20::i;1164:53::-;1157:60;;1045:187;1252:44;1274:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1252:44::-;1245:51;;1317:44;1339:21;:5;:11;;;:19;:21::i;1317:44::-;1310:51;;1382:46;1404:23;:21;;;;;;;;;;;;;;;;;;;:23::i;1382:46::-;1375:53;;1449:44;1471:21;:5;:11;;;:19;:21::i;1449:44::-;1442:51;;1514:44;1536:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1514:44::-;1507:51;;1579:43;1601:20;:5;:10;;;:18;:20::i;1579:43::-;1572:50;;1643:36;1665:13;:11;;;;;;;;;;;;;;;;;;;:13::i;1643:36::-;1636:43;;;;647:1087;1710:13;;;;;;;;;;;;;;;;;;-1:-1:-1;1710:13:32;;451:765:31;511:6;561:18;533:5;:12;;;529:681;;;561:35;;;;;;;;;;;;;;;;;;;;617:52;639:29;:19;:5;:8;;;-1:-1:-1;;;;;639:17:31;;:19::i;617:52::-;610:59;;690:57;712:34;:32;;;;;;;;;;;;;;;;;;;:34::i;690:57::-;683:64;;768:55;790:32;:5;:22;;;:30;:32::i;768:55::-;761:62;;844:49;866:26;:24;;;;;;;;;;;;;;;;;;;:26::i;844:49::-;837:56;;914:48;936:25;:5;:15;;;:23;:25::i;914:48::-;907:55;;983:47;1005:24;:22;;;;;;;;;;;;;;;;;;;:24::i;983:47::-;976:54;;1051:46;1073:23;:5;:13;;;:21;:23::i;1051:46::-;1044:53;;1118:37;1140:14;:12;;;;;;;;;;;;;;;;;;;:14::i;504:978:35:-;563:6;613:18;662:11;696:6;585:5;:12;;;581:895;;;-1:-1:-1;;613:35:35;;;;;;;;;;;;;;;;;;-1:-1:-1;;;691:298:35;712:5;:13;;;:20;708:1;:24;691:298;;;770:1;761:6;:10;757:100;;;802:36;824:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;824:11:35;;;;:13::i;:::-;802:14;:4;:12;:14::i;:36::-;795:43;;757:100;881:64;903:41;:31;917:5;:13;;;931:1;917:16;;;;;;;;;;;;;;;;;;903:13;:31::i;881:64::-;874:71;-1:-1:-1;973:1:35;963:11;;;;734:3;691:298;;;1009:45;1031:22;:20;;;;;;;;;;;;;;;;;;;:22::i;1009:45::-;1002:52;;1077:1;1068:10;;1101:1;1097:5;;1092:272;1108:5;:10;;;:17;1104:1;:21;1092:272;;;1163:1;1154:6;:10;1150:100;;;1195:36;1217:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1217:11:35;;;;:13::i;1195:36::-;1188:43;;1150:100;1274:46;1296:23;:5;:10;;;1307:1;1296:13;;;;;;;;;;;;;;;;;;:21;:23::i;1274:46::-;1267:53;-1:-1:-1;1348:1:35;1338:11;;;;1127:3;1092:272;;;1384:37;1406:14;:12;;;;;;;;;;;;;;;;;;;:14::i;1384:37::-;1377:44;;;;581:895;1452:13;;;;;;;;;;;;;;;;;;-1:-1:-1;581:895:35;504:978;;;;;;:::o;206:443:26:-;307:13;;;317:2;307:13;;;262:6;307:13;;;;;;262:6;;387:11;;;;;;307:13;;;17:15:-1;;105:10;307:13:26;88:34:-1;-1:-1;;330:7:26;;287:33;;-1:-1:-1;340:8:26;;287:33;;-1:-1:-1;335:1:26;;330:7;;;;;;;;;;:18;-1:-1:-1;;;;;330:18:26;;;;;;;;-1:-1:-1;358:7:26;;368:9;;358:4;;363:1;;358:7;;;;;;;;;;:19;-1:-1:-1;;;;;358:19:26;;;;;;;;;409:5;387:28;;450:1;446:5;;441:173;457:2;453:1;:6;441:173;;;-1:-1:-1;505:2:26;493:8;;;492:15;529:2;-1:-1:-1;;;;;525:6:26;;;521:19;;;538:2;533:7;521:19;578:1;-1:-1:-1;;;573:7:26;554:4;564:1;559:2;:6;568:1;559:10;554:16;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;554:26:26;;;;;;;;-1:-1:-1;601:2:26;-1:-1:-1;;;;;594:9:26;;;;-1:-1:-1;461:3:26;;;;;441:173;;;-1:-1:-1;637:4:26;;206:443;-1:-1:-1;;;;206:443:26:o;1488:909:35:-;1555:6;1605:18;1577:5;:12;;;1573:818;;;1605:30;;;;;;;;;;;;;;;;;;;;1656:41;1678:18;:5;:8;;;:16;:18::i;1656:41::-;1649:48;;1718:36;1740:13;:11;;;;;;;;;;;;;;;;;;;:13::i;1718:36::-;1772:12;;;;:19;1711:43;;-1:-1:-1;1768:249:35;;;1818:36;1840:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1840:11:35;;;;:13::i;1818:36::-;1811:43;;1879:44;1901:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1879:44::-;1872:51;;1948:54;1970:31;:21;:5;:12;;;:19;:21::i;1948:54::-;1941:61;;1768:249;2037:44;2059:21;:19;;;;;;;;;;;;;;;;;;;:21::i;2037:44::-;2030:51;;2102:44;2124:21;:5;:11;;;:19;:21::i;2102:44::-;2095:51;;2167:46;2189:23;:21;;;;;;;;;;;;;;;;;;;:23::i;2167:46::-;2160:53;;2234:44;2256:21;:5;:11;;;:19;:21::i;186:2835:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:2835:14;;;-1:-1:-1;186:2835:14;:::i;:::-;;;:::o;:::-;;;;;;;;;;-1:-1:-1;186:2835:14;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;186:2835:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC223TokenWidgetRenderer.sol\";\nimport \"tokenboost-solidity/contracts/utils/strings.sol\";\nimport \"tokenboost-solidity/contracts/widget/Widgets.sol\";\n\ncontract MintTokensWidgetRenderer is ERC223TokenWidgetRenderer {\n    using strings for *;\n    using Widgets for Widgets.Widget;\n    using UintUtils for uint;\n    using SafeMath for uint;\n\n    string public constant MINT_TOKENS = \"mint_tokens\";\n    string public constant SHORT_DESC = \"short_desc\";\n    string public constant LONG_DESC = \"long_desc\";\n    string public constant MINTABLE_ETH = \"mintable_eth\";\n    string public constant ADDRESS = \"address\";\n    string public constant AMOUNT = \"amount\";\n    string public constant MINT = \"mint\";\n    string public constant MINT_CONFIRM = \"mint_confirm\";\n\n    function render(string _locale, ERC223Token _token) public view returns (string) {\n        if (_token.mintable() && _token.activated()) {\n            uint maxMintable = _token.maxMintable();\n            uint totalSupply = _token.totalSupply();\n            uint mintableEth = maxMintable > totalSupply ? maxMintable.sub(totalSupply) : 0;\n            Elements.Element[] memory elements = new Elements.Element[](4);\n            elements[0] = Elements.Element(\n                true,\n                MINTABLE_ETH,\n                \"token\".toSlice().concat(uint(_token.decimals()).toString().toSlice()),\n                resources[_locale][MINTABLE_ETH],\n                maxMintable == 0 ? '\"∞\"' : mintableEth.toString(),\n                Actions.empty(),\n                Tables.empty()\n            );\n            elements[1] = Elements.Element(\n                true,\n                ADDRESS,\n                \"addressEdit\",\n                resources[_locale][ADDRESS],\n                '\"\"',\n                Actions.empty(),\n                Tables.empty()\n            );\n            elements[2] = Elements.Element(\n                true,\n                AMOUNT,\n                \"tokenEdit\".toSlice().concat(uint(_token.decimals()).toString().toSlice()),\n                resources[_locale][AMOUNT],\n                \"0\",\n                Actions.empty(),\n                Tables.empty()\n            );\n            elements[3] = Elements.Element(\n                true,\n                MINT,\n                \"button\",\n                resources[_locale][MINT],\n                \"null\",\n                Actions.Action(\n                    true,\n                    address(_token),\n                    \"mint()\",\n                    '{\"address\":\"address\",\"amount\":\"uint\"}',\n                    resources[_locale][MINT_CONFIRM]\n                ),\n                Tables.empty()\n            );\n            Widgets.Widget memory widget = Widgets.Widget(\n                resources[_locale][MINT_TOKENS],\n                resources[_locale][SHORT_DESC],\n                resources[_locale][LONG_DESC],\n                4,\n                elements\n            );\n            return widget.toJson();\n        } else {\n            return \"\";\n        }\n    }\n}\n",
  "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MintTokensWidgetRenderer.sol",
  "ast": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MintTokensWidgetRenderer.sol",
    "exportedSymbols": {
      "MintTokensWidgetRenderer": [
        2388
      ]
    },
    "id": 2389,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2125,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:14"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 2126,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 1953,
        "src": "26:41:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
        "file": "tokenboost-solidity/contracts/utils/strings.sol",
        "id": 2127,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 5457,
        "src": "68:57:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "file": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "id": 2128,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 6425,
        "src": "126:58:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2129,
              "name": "ERC223TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1952,
              "src": "223:25:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                "typeString": "contract ERC223TokenWidgetRenderer"
              }
            },
            "id": 2130,
            "nodeType": "InheritanceSpecifier",
            "src": "223:25:14"
          }
        ],
        "contractDependencies": [
          1952,
          5881,
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2388,
        "linearizedBaseContracts": [
          2388,
          1952,
          5881,
          6902
        ],
        "name": "MintTokensWidgetRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2132,
            "libraryName": {
              "contractScope": null,
              "id": 2131,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5456,
              "src": "261:7:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$5456",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "255:20:14",
            "typeName": null
          },
          {
            "id": 2135,
            "libraryName": {
              "contractScope": null,
              "id": 2133,
              "name": "Widgets",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6424,
              "src": "286:7:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Widgets_$6424",
                "typeString": "library Widgets"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "280:33:14",
            "typeName": {
              "contractScope": null,
              "id": 2134,
              "name": "Widgets.Widget",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6262,
              "src": "298:14:14",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                "typeString": "struct Widgets.Widget"
              }
            }
          },
          {
            "id": 2138,
            "libraryName": {
              "contractScope": null,
              "id": 2136,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3761,
              "src": "324:9:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$3761",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "318:25:14",
            "typeName": {
              "id": 2137,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "338:4:14",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 2141,
            "libraryName": {
              "contractScope": null,
              "id": 2139,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6816,
              "src": "354:8:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$6816",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "348:24:14",
            "typeName": {
              "id": 2140,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "367:4:14",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": true,
            "id": 2144,
            "name": "MINT_TOKENS",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "378:50:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2142,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "378:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e745f746f6b656e73",
              "id": 2143,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "415:13:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_4694255161b68e3b22fe051b6f40c1e76950bc668f8b10ac9da0651d97114aae",
                "typeString": "literal_string \"mint_tokens\""
              },
              "value": "mint_tokens"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2147,
            "name": "SHORT_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "434:48:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2145,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "434:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73686f72745f64657363",
              "id": 2146,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "470:12:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_94c241f8e931f92c2d4b9c8bf91f277610ffbc69f83ddd91d5e8535e49fe7894",
                "typeString": "literal_string \"short_desc\""
              },
              "value": "short_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2150,
            "name": "LONG_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "488:46:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2148,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "488:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6c6f6e675f64657363",
              "id": 2149,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "523:11:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a47709c5db6426dae60658aa3fe6818a09dac224ef85f317a31b897413052755",
                "typeString": "literal_string \"long_desc\""
              },
              "value": "long_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2153,
            "name": "MINTABLE_ETH",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "540:52:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2151,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "540:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e7461626c655f657468",
              "id": 2152,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "578:14:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_0813ffc49ae6ae4c3206655521e03fdd10c15a19aeeb7a2dad61837ba323fad1",
                "typeString": "literal_string \"mintable_eth\""
              },
              "value": "mintable_eth"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2156,
            "name": "ADDRESS",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "598:42:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2154,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "598:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "61646472657373",
              "id": 2155,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "631:9:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_421683f821a0574472445355be6d2b769119e8515f8376a1d7878523dfdecf7b",
                "typeString": "literal_string \"address\""
              },
              "value": "address"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2159,
            "name": "AMOUNT",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "646:40:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2157,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "646:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "616d6f756e74",
              "id": 2158,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "678:8:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_89c4783cb6cc307f98e95f2d5d5d8647bdb3d4bdd087209374f187b38e098895",
                "typeString": "literal_string \"amount\""
              },
              "value": "amount"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2162,
            "name": "MINT",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "692:36:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2160,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "692:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e74",
              "id": 2161,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "722:6:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_daf0b3c5710379609eb5495f1ecd348cb28167711b73609fe565a72734550354",
                "typeString": "literal_string \"mint\""
              },
              "value": "mint"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2165,
            "name": "MINT_CONFIRM",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "734:52:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2163,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "734:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e745f636f6e6669726d",
              "id": 2164,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "772:14:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_bf9899538883e6e015158d4d6f87c4a8ddd3402bfbade78430202e81ad056d2c",
                "typeString": "literal_string \"mint_confirm\""
              },
              "value": "mint_confirm"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 2386,
              "nodeType": "Block",
              "src": "874:2145:14",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 2180,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2174,
                          "name": "_token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2169,
                          "src": "888:6:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223Token_$1036",
                            "typeString": "contract ERC223Token"
                          }
                        },
                        "id": 2175,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "mintable",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 735,
                        "src": "888:15:14",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 2176,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "888:17:14",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2177,
                          "name": "_token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2169,
                          "src": "909:6:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223Token_$1036",
                            "typeString": "contract ERC223Token"
                          }
                        },
                        "id": 2178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "activated",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3138,
                        "src": "909:16:14",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 2179,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "909:18:14",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "888:39:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 2384,
                    "nodeType": "Block",
                    "src": "2979:34:14",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 2382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3000:2:14",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        "functionReturnParameters": 2173,
                        "id": 2383,
                        "nodeType": "Return",
                        "src": "2993:9:14"
                      }
                    ]
                  },
                  "id": 2385,
                  "nodeType": "IfStatement",
                  "src": "884:2129:14",
                  "trueBody": {
                    "id": 2381,
                    "nodeType": "Block",
                    "src": "929:2044:14",
                    "statements": [
                      {
                        "assignments": [
                          2182
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2182,
                            "name": "maxMintable",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "943:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2181,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "943:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2186,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2183,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2169,
                              "src": "962:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            },
                            "id": 2184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "maxMintable",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 737,
                            "src": "962:18:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                              "typeString": "function () view external returns (uint256)"
                            }
                          },
                          "id": 2185,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "962:20:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "943:39:14"
                      },
                      {
                        "assignments": [
                          2188
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2188,
                            "name": "totalSupply",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "996:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2187,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "996:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2192,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2189,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2169,
                              "src": "1015:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            },
                            "id": 2190,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "totalSupply",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6925,
                            "src": "1015:18:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                              "typeString": "function () view external returns (uint256)"
                            }
                          },
                          "id": 2191,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1015:20:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "996:39:14"
                      },
                      {
                        "assignments": [
                          2194
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2194,
                            "name": "mintableEth",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "1049:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2193,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "1049:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2204,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2197,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2195,
                              "name": "maxMintable",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2182,
                              "src": "1068:11:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 2196,
                              "name": "totalSupply",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2188,
                              "src": "1082:11:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1068:25:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2202,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1127:1:14",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "id": 2203,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "1068:60:14",
                          "trueExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2200,
                                "name": "totalSupply",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2188,
                                "src": "1112:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2198,
                                "name": "maxMintable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2182,
                                "src": "1096:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 2199,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sub",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 6791,
                              "src": "1096:15:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 2201,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1096:28:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1049:79:14"
                      },
                      {
                        "assignments": [
                          2209
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2209,
                            "name": "elements",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "1142:34:14",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                              "typeString": "struct Elements.Element[]"
                            },
                            "typeName": {
                              "baseType": {
                                "contractScope": null,
                                "id": 2207,
                                "name": "Elements.Element",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 5632,
                                "src": "1142:16:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                                  "typeString": "struct Elements.Element"
                                }
                              },
                              "id": 2208,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "1142:18:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                                "typeString": "struct Elements.Element[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2215,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 2213,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1202:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              }
                            ],
                            "id": 2212,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "1179:22:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$5632_memory_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "contractScope": null,
                                "id": 2210,
                                "name": "Elements.Element",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 5632,
                                "src": "1183:16:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                                  "typeString": "struct Elements.Element"
                                }
                              },
                              "id": 2211,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "1183:18:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                                "typeString": "struct Elements.Element[]"
                              }
                            }
                          },
                          "id": 2214,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1179:25:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory",
                            "typeString": "struct Elements.Element memory[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1142:62:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2257,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2216,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1218:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2218,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 2217,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1227:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1218:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2221,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1266:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2222,
                                "name": "MINTABLE_ETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2153,
                                "src": "1288:12:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                              {
                                                "argumentTypes": null,
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2228,
                                                    "name": "_token",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2169,
                                                    "src": "1348:6:14",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                                      "typeString": "contract ERC223Token"
                                                    }
                                                  },
                                                  "id": 2229,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "decimals",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 731,
                                                  "src": "1348:15:14",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                                    "typeString": "function () view external returns (uint8)"
                                                  }
                                                },
                                                "id": 2230,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1348:17:14",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              ],
                                              "id": 2227,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "1343:4:14",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_uint256_$",
                                                "typeString": "type(uint256)"
                                              },
                                              "typeName": "uint"
                                            },
                                            "id": 2231,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1343:23:14",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 2232,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "toString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 3760,
                                          "src": "1343:32:14",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                            "typeString": "function (uint256) pure returns (string memory)"
                                          }
                                        },
                                        "id": 2233,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1343:34:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "id": 2234,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1343:42:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2235,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1343:44:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "746f6b656e",
                                        "id": 2223,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "1318:7:14",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_9b9b0454cadcb5884dd3faa6ba975da4d2459aa3f11d31291a25a8358f84946d",
                                          "typeString": "literal_string \"token\""
                                        },
                                        "value": "token"
                                      },
                                      "id": 2224,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1318:15:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2225,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1318:17:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  },
                                  "id": 2226,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "concat",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5341,
                                  "src": "1318:24:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                    "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                  }
                                },
                                "id": 2236,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1318:70:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2237,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "1406:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2239,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2238,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "1416:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1406:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2241,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2240,
                                  "name": "MINTABLE_ETH",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2153,
                                  "src": "1425:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1406:32:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "condition": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 2244,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "id": 2242,
                                    "name": "maxMintable",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2182,
                                    "src": "1456:11:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 2243,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "1471:1:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "src": "1456:16:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2246,
                                      "name": "mintableEth",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2194,
                                      "src": "1485:11:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 2247,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "toString",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 3760,
                                    "src": "1485:20:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256) pure returns (string memory)"
                                    }
                                  },
                                  "id": 2248,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1485:22:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "id": 2249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "1456:51:14",
                                "trueExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "22e2889e22",
                                  "id": 2245,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "1475:7:14",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_da6451e76317491a436cd743e237119b693c01d281df006403bae9b3a33954a8",
                                    "typeString": "literal_string \"\"∞\"\""
                                  },
                                  "value": "\"∞\""
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2250,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "1525:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2251,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "1525:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2252,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1525:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2253,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "1558:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2254,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "1558:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2255,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1558:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2219,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1232:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1232:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1232:354:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1218:368:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2258,
                        "nodeType": "ExpressionStatement",
                        "src": "1218:368:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2280,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2259,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1600:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2261,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 2260,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1609:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1600:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2264,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1648:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2265,
                                "name": "ADDRESS",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2156,
                                "src": "1670:7:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "6164647265737345646974",
                                "id": 2266,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1695:13:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_9da0ac31fc220ced4c03decd71d5120e5144f94b04cabb5c22d40a0b3ec00e0c",
                                  "typeString": "literal_string \"addressEdit\""
                                },
                                "value": "addressEdit"
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2267,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "1726:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2269,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2268,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "1736:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1726:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2271,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2270,
                                  "name": "ADDRESS",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2156,
                                  "src": "1745:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1726:27:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "2222",
                                "id": 2272,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1771:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_2392a80f8a87b8cfde0aa5c84e199f163aae4c2a4c512d37598362ace687ad0c",
                                  "typeString": "literal_string \"\"\"\""
                                },
                                "value": "\"\""
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2273,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "1793:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2274,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "1793:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2275,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1793:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2276,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "1826:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2277,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "1826:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2278,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1826:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_9da0ac31fc220ced4c03decd71d5120e5144f94b04cabb5c22d40a0b3ec00e0c",
                                  "typeString": "literal_string \"addressEdit\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_2392a80f8a87b8cfde0aa5c84e199f163aae4c2a4c512d37598362ace687ad0c",
                                  "typeString": "literal_string \"\"\"\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2262,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1614:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2263,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1614:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2279,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1614:240:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1600:254:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2281,
                        "nodeType": "ExpressionStatement",
                        "src": "1600:254:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2316,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2282,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1868:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2284,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "32",
                              "id": 2283,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1877:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_2_by_1",
                                "typeString": "int_const 2"
                              },
                              "value": "2"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1868:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2287,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1916:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2288,
                                "name": "AMOUNT",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2159,
                                "src": "1938:6:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                              {
                                                "argumentTypes": null,
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2294,
                                                    "name": "_token",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2169,
                                                    "src": "1996:6:14",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                                      "typeString": "contract ERC223Token"
                                                    }
                                                  },
                                                  "id": 2295,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "decimals",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 731,
                                                  "src": "1996:15:14",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                                    "typeString": "function () view external returns (uint8)"
                                                  }
                                                },
                                                "id": 2296,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1996:17:14",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              ],
                                              "id": 2293,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "1991:4:14",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_uint256_$",
                                                "typeString": "type(uint256)"
                                              },
                                              "typeName": "uint"
                                            },
                                            "id": 2297,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1991:23:14",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 2298,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "toString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 3760,
                                          "src": "1991:32:14",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                            "typeString": "function (uint256) pure returns (string memory)"
                                          }
                                        },
                                        "id": 2299,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1991:34:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "id": 2300,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1991:42:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2301,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1991:44:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "746f6b656e45646974",
                                        "id": 2289,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "1962:11:14",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_99de3d4fb3ed3400bcd89eb9e537fe6b559627add648abf4e34c8e6921ff6615",
                                          "typeString": "literal_string \"tokenEdit\""
                                        },
                                        "value": "tokenEdit"
                                      },
                                      "id": 2290,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1962:19:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2291,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1962:21:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  },
                                  "id": 2292,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "concat",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5341,
                                  "src": "1962:28:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                    "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                  }
                                },
                                "id": 2302,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1962:74:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2303,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "2054:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2305,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2304,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "2064:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2054:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2307,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2306,
                                  "name": "AMOUNT",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2159,
                                  "src": "2073:6:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2054:26:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 2308,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2098:3:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
                                  "typeString": "literal_string \"0\""
                                },
                                "value": "0"
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2309,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "2119:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2310,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "2119:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2311,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2119:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2312,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "2152:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2313,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "2152:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2314,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2152:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
                                  "typeString": "literal_string \"0\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2285,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1882:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2286,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1882:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2315,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1882:298:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1868:312:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2317,
                        "nodeType": "ExpressionStatement",
                        "src": "1868:312:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2350,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2318,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "2194:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2320,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "33",
                              "id": 2319,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2203:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_3_by_1",
                                "typeString": "int_const 3"
                              },
                              "value": "3"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2194:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2323,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2242:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2324,
                                "name": "MINT",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2162,
                                "src": "2264:4:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "627574746f6e",
                                "id": 2325,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2286:8:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                                  "typeString": "literal_string \"button\""
                                },
                                "value": "button"
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2326,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "2312:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2328,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2327,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "2322:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2312:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2330,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2329,
                                  "name": "MINT",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2162,
                                  "src": "2331:4:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2312:24:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "6e756c6c",
                                "id": 2331,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2354:6:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                                  "typeString": "literal_string \"null\""
                                },
                                "value": "null"
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 2334,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2414:4:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2336,
                                        "name": "_token",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2169,
                                        "src": "2448:6:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                          "typeString": "contract ERC223Token"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                          "typeString": "contract ERC223Token"
                                        }
                                      ],
                                      "id": 2335,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2440:7:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": "address"
                                    },
                                    "id": 2337,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2440:15:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "6d696e742829",
                                    "id": 2338,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2477:8:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_1249c58b84ff771f36a0d1d2bf0b42e48832b1567c4213f113d3990903cea57d",
                                      "typeString": "literal_string \"mint()\""
                                    },
                                    "value": "mint()"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "7b2261646472657373223a2261646472657373222c22616d6f756e74223a2275696e74227d",
                                    "id": 2339,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2507:39:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_048fcf6128c2fdd5e110cd51df10f6504be198fcdd341815e707d88cc59970db",
                                      "typeString": "literal_string \"{\"address\":\"address\",\"amount\":\"uint\"}\""
                                    },
                                    "value": "{\"address\":\"address\",\"amount\":\"uint\"}"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 2340,
                                        "name": "resources",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5844,
                                        "src": "2568:9:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                          "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                        }
                                      },
                                      "id": 2342,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 2341,
                                        "name": "_locale",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2167,
                                        "src": "2578:7:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "2568:18:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                        "typeString": "mapping(string memory => string storage ref)"
                                      }
                                    },
                                    "id": 2344,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 2343,
                                      "name": "MINT_CONFIRM",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2165,
                                      "src": "2587:12:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "2568:32:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_1249c58b84ff771f36a0d1d2bf0b42e48832b1567c4213f113d3990903cea57d",
                                      "typeString": "literal_string \"mint()\""
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_048fcf6128c2fdd5e110cd51df10f6504be198fcdd341815e707d88cc59970db",
                                      "typeString": "literal_string \"{\"address\":\"address\",\"amount\":\"uint\"}\""
                                    },
                                    {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2332,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "2378:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2333,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "Action",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5476,
                                  "src": "2378:14:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_Action_$5476_storage_ptr_$",
                                    "typeString": "type(struct Actions.Action storage pointer)"
                                  }
                                },
                                "id": 2345,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2378:240:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2346,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "2636:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2347,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "2636:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2348,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2636:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                                  "typeString": "literal_string \"button\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                                  "typeString": "literal_string \"null\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2321,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "2208:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2322,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "2208:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2349,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2208:456:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "2194:470:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2351,
                        "nodeType": "ExpressionStatement",
                        "src": "2194:470:14"
                      },
                      {
                        "assignments": [
                          2355
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2355,
                            "name": "widget",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "2678:28:14",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                              "typeString": "struct Widgets.Widget"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 2354,
                              "name": "Widgets.Widget",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 6262,
                              "src": "2678:14:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                                "typeString": "struct Widgets.Widget"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2376,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2358,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2741:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2360,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2359,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2751:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2741:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2362,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2361,
                                "name": "MINT_TOKENS",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2144,
                                "src": "2760:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2741:31:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2363,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2790:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2365,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2364,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2800:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2790:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2367,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2366,
                                "name": "SHORT_DESC",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2147,
                                "src": "2809:10:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2790:30:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2368,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2838:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2370,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2369,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2848:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2838:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2372,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2371,
                                "name": "LONG_DESC",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2150,
                                "src": "2857:9:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2838:29:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 2373,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2885:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            },
                            {
                              "argumentTypes": null,
                              "id": 2374,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "2904:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2356,
                              "name": "Widgets",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6424,
                              "src": "2709:7:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Widgets_$6424_$",
                                "typeString": "type(library Widgets)"
                              }
                            },
                            "id": 2357,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "Widget",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6262,
                            "src": "2709:14:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Widget_$6262_storage_ptr_$",
                              "typeString": "type(struct Widgets.Widget storage pointer)"
                            }
                          },
                          "id": 2375,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2709:217:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Widget_$6262_memory",
                            "typeString": "struct Widgets.Widget memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2678:248:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2377,
                              "name": "widget",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2355,
                              "src": "2947:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                                "typeString": "struct Widgets.Widget memory"
                              }
                            },
                            "id": 2378,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toJson",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6423,
                            "src": "2947:13:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_Widget_$6262_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Widget_$6262_memory_ptr_$",
                              "typeString": "function (struct Widgets.Widget memory) pure returns (string memory)"
                            }
                          },
                          "id": 2379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2947:15:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "functionReturnParameters": 2173,
                        "id": 2380,
                        "nodeType": "Return",
                        "src": "2940:22:14"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 2387,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2167,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "809:14:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2166,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "809:6:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2169,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "825:18:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2168,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "825:11:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "808:36:14"
            },
            "payable": false,
            "returnParameters": {
              "id": 2173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2172,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "866:6:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2171,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "866:6:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "865:8:14"
            },
            "scope": 2388,
            "src": "793:2226:14",
            "stateMutability": "view",
            "superFunction": 1951,
            "visibility": "public"
          }
        ],
        "scope": 2389,
        "src": "186:2835:14"
      }
    ],
    "src": "0:3022:14"
  },
  "legacyAST": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MintTokensWidgetRenderer.sol",
    "exportedSymbols": {
      "MintTokensWidgetRenderer": [
        2388
      ]
    },
    "id": 2389,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2125,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:14"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 2126,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 1953,
        "src": "26:41:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
        "file": "tokenboost-solidity/contracts/utils/strings.sol",
        "id": 2127,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 5457,
        "src": "68:57:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "file": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "id": 2128,
        "nodeType": "ImportDirective",
        "scope": 2389,
        "sourceUnit": 6425,
        "src": "126:58:14",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2129,
              "name": "ERC223TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1952,
              "src": "223:25:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                "typeString": "contract ERC223TokenWidgetRenderer"
              }
            },
            "id": 2130,
            "nodeType": "InheritanceSpecifier",
            "src": "223:25:14"
          }
        ],
        "contractDependencies": [
          1952,
          5881,
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2388,
        "linearizedBaseContracts": [
          2388,
          1952,
          5881,
          6902
        ],
        "name": "MintTokensWidgetRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2132,
            "libraryName": {
              "contractScope": null,
              "id": 2131,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5456,
              "src": "261:7:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$5456",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "255:20:14",
            "typeName": null
          },
          {
            "id": 2135,
            "libraryName": {
              "contractScope": null,
              "id": 2133,
              "name": "Widgets",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6424,
              "src": "286:7:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Widgets_$6424",
                "typeString": "library Widgets"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "280:33:14",
            "typeName": {
              "contractScope": null,
              "id": 2134,
              "name": "Widgets.Widget",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6262,
              "src": "298:14:14",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                "typeString": "struct Widgets.Widget"
              }
            }
          },
          {
            "id": 2138,
            "libraryName": {
              "contractScope": null,
              "id": 2136,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3761,
              "src": "324:9:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$3761",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "318:25:14",
            "typeName": {
              "id": 2137,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "338:4:14",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 2141,
            "libraryName": {
              "contractScope": null,
              "id": 2139,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6816,
              "src": "354:8:14",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$6816",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "348:24:14",
            "typeName": {
              "id": 2140,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "367:4:14",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": true,
            "id": 2144,
            "name": "MINT_TOKENS",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "378:50:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2142,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "378:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e745f746f6b656e73",
              "id": 2143,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "415:13:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_4694255161b68e3b22fe051b6f40c1e76950bc668f8b10ac9da0651d97114aae",
                "typeString": "literal_string \"mint_tokens\""
              },
              "value": "mint_tokens"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2147,
            "name": "SHORT_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "434:48:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2145,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "434:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73686f72745f64657363",
              "id": 2146,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "470:12:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_94c241f8e931f92c2d4b9c8bf91f277610ffbc69f83ddd91d5e8535e49fe7894",
                "typeString": "literal_string \"short_desc\""
              },
              "value": "short_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2150,
            "name": "LONG_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "488:46:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2148,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "488:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6c6f6e675f64657363",
              "id": 2149,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "523:11:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a47709c5db6426dae60658aa3fe6818a09dac224ef85f317a31b897413052755",
                "typeString": "literal_string \"long_desc\""
              },
              "value": "long_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2153,
            "name": "MINTABLE_ETH",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "540:52:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2151,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "540:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e7461626c655f657468",
              "id": 2152,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "578:14:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_0813ffc49ae6ae4c3206655521e03fdd10c15a19aeeb7a2dad61837ba323fad1",
                "typeString": "literal_string \"mintable_eth\""
              },
              "value": "mintable_eth"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2156,
            "name": "ADDRESS",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "598:42:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2154,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "598:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "61646472657373",
              "id": 2155,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "631:9:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_421683f821a0574472445355be6d2b769119e8515f8376a1d7878523dfdecf7b",
                "typeString": "literal_string \"address\""
              },
              "value": "address"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2159,
            "name": "AMOUNT",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "646:40:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2157,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "646:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "616d6f756e74",
              "id": 2158,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "678:8:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_89c4783cb6cc307f98e95f2d5d5d8647bdb3d4bdd087209374f187b38e098895",
                "typeString": "literal_string \"amount\""
              },
              "value": "amount"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2162,
            "name": "MINT",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "692:36:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2160,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "692:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e74",
              "id": 2161,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "722:6:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_daf0b3c5710379609eb5495f1ecd348cb28167711b73609fe565a72734550354",
                "typeString": "literal_string \"mint\""
              },
              "value": "mint"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2165,
            "name": "MINT_CONFIRM",
            "nodeType": "VariableDeclaration",
            "scope": 2388,
            "src": "734:52:14",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2163,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "734:6:14",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e745f636f6e6669726d",
              "id": 2164,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "772:14:14",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_bf9899538883e6e015158d4d6f87c4a8ddd3402bfbade78430202e81ad056d2c",
                "typeString": "literal_string \"mint_confirm\""
              },
              "value": "mint_confirm"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 2386,
              "nodeType": "Block",
              "src": "874:2145:14",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 2180,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2174,
                          "name": "_token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2169,
                          "src": "888:6:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223Token_$1036",
                            "typeString": "contract ERC223Token"
                          }
                        },
                        "id": 2175,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "mintable",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 735,
                        "src": "888:15:14",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 2176,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "888:17:14",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2177,
                          "name": "_token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2169,
                          "src": "909:6:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223Token_$1036",
                            "typeString": "contract ERC223Token"
                          }
                        },
                        "id": 2178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "activated",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3138,
                        "src": "909:16:14",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 2179,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "909:18:14",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "888:39:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 2384,
                    "nodeType": "Block",
                    "src": "2979:34:14",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 2382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3000:2:14",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        "functionReturnParameters": 2173,
                        "id": 2383,
                        "nodeType": "Return",
                        "src": "2993:9:14"
                      }
                    ]
                  },
                  "id": 2385,
                  "nodeType": "IfStatement",
                  "src": "884:2129:14",
                  "trueBody": {
                    "id": 2381,
                    "nodeType": "Block",
                    "src": "929:2044:14",
                    "statements": [
                      {
                        "assignments": [
                          2182
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2182,
                            "name": "maxMintable",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "943:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2181,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "943:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2186,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2183,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2169,
                              "src": "962:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            },
                            "id": 2184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "maxMintable",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 737,
                            "src": "962:18:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                              "typeString": "function () view external returns (uint256)"
                            }
                          },
                          "id": 2185,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "962:20:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "943:39:14"
                      },
                      {
                        "assignments": [
                          2188
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2188,
                            "name": "totalSupply",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "996:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2187,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "996:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2192,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2189,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2169,
                              "src": "1015:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            },
                            "id": 2190,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "totalSupply",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6925,
                            "src": "1015:18:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                              "typeString": "function () view external returns (uint256)"
                            }
                          },
                          "id": 2191,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1015:20:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "996:39:14"
                      },
                      {
                        "assignments": [
                          2194
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2194,
                            "name": "mintableEth",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "1049:16:14",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 2193,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "1049:4:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2204,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2197,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2195,
                              "name": "maxMintable",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2182,
                              "src": "1068:11:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 2196,
                              "name": "totalSupply",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2188,
                              "src": "1082:11:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1068:25:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2202,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1127:1:14",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "id": 2203,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "1068:60:14",
                          "trueExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2200,
                                "name": "totalSupply",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2188,
                                "src": "1112:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2198,
                                "name": "maxMintable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2182,
                                "src": "1096:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 2199,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sub",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 6791,
                              "src": "1096:15:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 2201,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1096:28:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1049:79:14"
                      },
                      {
                        "assignments": [
                          2209
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2209,
                            "name": "elements",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "1142:34:14",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                              "typeString": "struct Elements.Element[]"
                            },
                            "typeName": {
                              "baseType": {
                                "contractScope": null,
                                "id": 2207,
                                "name": "Elements.Element",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 5632,
                                "src": "1142:16:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                                  "typeString": "struct Elements.Element"
                                }
                              },
                              "id": 2208,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "1142:18:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                                "typeString": "struct Elements.Element[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2215,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 2213,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1202:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              }
                            ],
                            "id": 2212,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "1179:22:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$5632_memory_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "contractScope": null,
                                "id": 2210,
                                "name": "Elements.Element",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 5632,
                                "src": "1183:16:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                                  "typeString": "struct Elements.Element"
                                }
                              },
                              "id": 2211,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "1183:18:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                                "typeString": "struct Elements.Element[]"
                              }
                            }
                          },
                          "id": 2214,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1179:25:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory",
                            "typeString": "struct Elements.Element memory[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1142:62:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2257,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2216,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1218:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2218,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 2217,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1227:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1218:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2221,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1266:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2222,
                                "name": "MINTABLE_ETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2153,
                                "src": "1288:12:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                              {
                                                "argumentTypes": null,
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2228,
                                                    "name": "_token",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2169,
                                                    "src": "1348:6:14",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                                      "typeString": "contract ERC223Token"
                                                    }
                                                  },
                                                  "id": 2229,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "decimals",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 731,
                                                  "src": "1348:15:14",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                                    "typeString": "function () view external returns (uint8)"
                                                  }
                                                },
                                                "id": 2230,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1348:17:14",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              ],
                                              "id": 2227,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "1343:4:14",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_uint256_$",
                                                "typeString": "type(uint256)"
                                              },
                                              "typeName": "uint"
                                            },
                                            "id": 2231,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1343:23:14",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 2232,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "toString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 3760,
                                          "src": "1343:32:14",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                            "typeString": "function (uint256) pure returns (string memory)"
                                          }
                                        },
                                        "id": 2233,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1343:34:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "id": 2234,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1343:42:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2235,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1343:44:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "746f6b656e",
                                        "id": 2223,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "1318:7:14",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_9b9b0454cadcb5884dd3faa6ba975da4d2459aa3f11d31291a25a8358f84946d",
                                          "typeString": "literal_string \"token\""
                                        },
                                        "value": "token"
                                      },
                                      "id": 2224,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1318:15:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2225,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1318:17:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  },
                                  "id": 2226,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "concat",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5341,
                                  "src": "1318:24:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                    "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                  }
                                },
                                "id": 2236,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1318:70:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2237,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "1406:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2239,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2238,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "1416:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1406:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2241,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2240,
                                  "name": "MINTABLE_ETH",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2153,
                                  "src": "1425:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1406:32:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "condition": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 2244,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "id": 2242,
                                    "name": "maxMintable",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2182,
                                    "src": "1456:11:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 2243,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "1471:1:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "src": "1456:16:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 2246,
                                      "name": "mintableEth",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2194,
                                      "src": "1485:11:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 2247,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "toString",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 3760,
                                    "src": "1485:20:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256) pure returns (string memory)"
                                    }
                                  },
                                  "id": 2248,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1485:22:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "id": 2249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "1456:51:14",
                                "trueExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "22e2889e22",
                                  "id": 2245,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "1475:7:14",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_da6451e76317491a436cd743e237119b693c01d281df006403bae9b3a33954a8",
                                    "typeString": "literal_string \"\"∞\"\""
                                  },
                                  "value": "\"∞\""
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2250,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "1525:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2251,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "1525:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2252,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1525:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2253,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "1558:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2254,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "1558:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2255,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1558:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2219,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1232:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1232:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1232:354:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1218:368:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2258,
                        "nodeType": "ExpressionStatement",
                        "src": "1218:368:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2280,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2259,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1600:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2261,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 2260,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1609:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1600:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2264,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1648:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2265,
                                "name": "ADDRESS",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2156,
                                "src": "1670:7:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "6164647265737345646974",
                                "id": 2266,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1695:13:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_9da0ac31fc220ced4c03decd71d5120e5144f94b04cabb5c22d40a0b3ec00e0c",
                                  "typeString": "literal_string \"addressEdit\""
                                },
                                "value": "addressEdit"
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2267,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "1726:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2269,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2268,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "1736:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1726:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2271,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2270,
                                  "name": "ADDRESS",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2156,
                                  "src": "1745:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1726:27:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "2222",
                                "id": 2272,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1771:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_2392a80f8a87b8cfde0aa5c84e199f163aae4c2a4c512d37598362ace687ad0c",
                                  "typeString": "literal_string \"\"\"\""
                                },
                                "value": "\"\""
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2273,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "1793:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2274,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "1793:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2275,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1793:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2276,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "1826:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2277,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "1826:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2278,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1826:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_9da0ac31fc220ced4c03decd71d5120e5144f94b04cabb5c22d40a0b3ec00e0c",
                                  "typeString": "literal_string \"addressEdit\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_2392a80f8a87b8cfde0aa5c84e199f163aae4c2a4c512d37598362ace687ad0c",
                                  "typeString": "literal_string \"\"\"\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2262,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1614:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2263,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1614:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2279,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1614:240:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1600:254:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2281,
                        "nodeType": "ExpressionStatement",
                        "src": "1600:254:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2316,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2282,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "1868:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2284,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "32",
                              "id": 2283,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1877:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_2_by_1",
                                "typeString": "int_const 2"
                              },
                              "value": "2"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1868:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2287,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1916:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2288,
                                "name": "AMOUNT",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2159,
                                "src": "1938:6:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                              {
                                                "argumentTypes": null,
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2294,
                                                    "name": "_token",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2169,
                                                    "src": "1996:6:14",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                                      "typeString": "contract ERC223Token"
                                                    }
                                                  },
                                                  "id": 2295,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "decimals",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 731,
                                                  "src": "1996:15:14",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                                    "typeString": "function () view external returns (uint8)"
                                                  }
                                                },
                                                "id": 2296,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1996:17:14",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint8",
                                                  "typeString": "uint8"
                                                }
                                              ],
                                              "id": 2293,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "1991:4:14",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_uint256_$",
                                                "typeString": "type(uint256)"
                                              },
                                              "typeName": "uint"
                                            },
                                            "id": 2297,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1991:23:14",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 2298,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "toString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 3760,
                                          "src": "1991:32:14",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                                            "typeString": "function (uint256) pure returns (string memory)"
                                          }
                                        },
                                        "id": 2299,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1991:34:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "id": 2300,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1991:42:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2301,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1991:44:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "746f6b656e45646974",
                                        "id": 2289,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "1962:11:14",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_99de3d4fb3ed3400bcd89eb9e537fe6b559627add648abf4e34c8e6921ff6615",
                                          "typeString": "literal_string \"tokenEdit\""
                                        },
                                        "value": "tokenEdit"
                                      },
                                      "id": 2290,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toSlice",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3828,
                                      "src": "1962:19:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                        "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                      }
                                    },
                                    "id": 2291,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1962:21:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                      "typeString": "struct strings.slice memory"
                                    }
                                  },
                                  "id": 2292,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "concat",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5341,
                                  "src": "1962:28:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                    "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                  }
                                },
                                "id": 2302,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1962:74:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2303,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "2054:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2305,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2304,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "2064:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2054:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2307,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2306,
                                  "name": "AMOUNT",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2159,
                                  "src": "2073:6:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2054:26:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 2308,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2098:3:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
                                  "typeString": "literal_string \"0\""
                                },
                                "value": "0"
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2309,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "2119:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2310,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5492,
                                  "src": "2119:13:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Actions.Action memory)"
                                  }
                                },
                                "id": 2311,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2119:15:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2312,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "2152:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2313,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "2152:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2314,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2152:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
                                  "typeString": "literal_string \"0\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2285,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "1882:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2286,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "1882:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2315,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1882:298:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "1868:312:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2317,
                        "nodeType": "ExpressionStatement",
                        "src": "1868:312:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2350,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2318,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "2194:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            },
                            "id": 2320,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "33",
                              "id": 2319,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2203:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_3_by_1",
                                "typeString": "int_const 3"
                              },
                              "value": "3"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2194:11:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 2323,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2242:4:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              {
                                "argumentTypes": null,
                                "id": 2324,
                                "name": "MINT",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2162,
                                "src": "2264:4:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "627574746f6e",
                                "id": 2325,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2286:8:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                                  "typeString": "literal_string \"button\""
                                },
                                "value": "button"
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 2326,
                                    "name": "resources",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5844,
                                    "src": "2312:9:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                      "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                    }
                                  },
                                  "id": 2328,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 2327,
                                    "name": "_locale",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2167,
                                    "src": "2322:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2312:18:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                    "typeString": "mapping(string memory => string storage ref)"
                                  }
                                },
                                "id": 2330,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2329,
                                  "name": "MINT",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2162,
                                  "src": "2331:4:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2312:24:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "6e756c6c",
                                "id": 2331,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2354:6:14",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                                  "typeString": "literal_string \"null\""
                                },
                                "value": "null"
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 2334,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2414:4:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2336,
                                        "name": "_token",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2169,
                                        "src": "2448:6:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                          "typeString": "contract ERC223Token"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                          "typeString": "contract ERC223Token"
                                        }
                                      ],
                                      "id": 2335,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "2440:7:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": "address"
                                    },
                                    "id": 2337,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2440:15:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "6d696e742829",
                                    "id": 2338,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2477:8:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_1249c58b84ff771f36a0d1d2bf0b42e48832b1567c4213f113d3990903cea57d",
                                      "typeString": "literal_string \"mint()\""
                                    },
                                    "value": "mint()"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "7b2261646472657373223a2261646472657373222c22616d6f756e74223a2275696e74227d",
                                    "id": 2339,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2507:39:14",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_048fcf6128c2fdd5e110cd51df10f6504be198fcdd341815e707d88cc59970db",
                                      "typeString": "literal_string \"{\"address\":\"address\",\"amount\":\"uint\"}\""
                                    },
                                    "value": "{\"address\":\"address\",\"amount\":\"uint\"}"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 2340,
                                        "name": "resources",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5844,
                                        "src": "2568:9:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                          "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                        }
                                      },
                                      "id": 2342,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 2341,
                                        "name": "_locale",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2167,
                                        "src": "2578:7:14",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "2568:18:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                        "typeString": "mapping(string memory => string storage ref)"
                                      }
                                    },
                                    "id": 2344,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 2343,
                                      "name": "MINT_CONFIRM",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2165,
                                      "src": "2587:12:14",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "2568:32:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_1249c58b84ff771f36a0d1d2bf0b42e48832b1567c4213f113d3990903cea57d",
                                      "typeString": "literal_string \"mint()\""
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_048fcf6128c2fdd5e110cd51df10f6504be198fcdd341815e707d88cc59970db",
                                      "typeString": "literal_string \"{\"address\":\"address\",\"amount\":\"uint\"}\""
                                    },
                                    {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2332,
                                    "name": "Actions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5604,
                                    "src": "2378:7:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                      "typeString": "type(library Actions)"
                                    }
                                  },
                                  "id": 2333,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "Action",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5476,
                                  "src": "2378:14:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_Action_$5476_storage_ptr_$",
                                    "typeString": "type(struct Actions.Action storage pointer)"
                                  }
                                },
                                "id": 2345,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2378:240:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory",
                                  "typeString": "struct Actions.Action memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2346,
                                    "name": "Tables",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6237,
                                    "src": "2636:6:14",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                      "typeString": "type(library Tables)"
                                    }
                                  },
                                  "id": 2347,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "empty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 5953,
                                  "src": "2636:12:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                                    "typeString": "function () pure returns (struct Tables.Table memory)"
                                  }
                                },
                                "id": 2348,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2636:14:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                                  "typeString": "literal_string \"button\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                                  "typeString": "literal_string \"null\""
                                },
                                {
                                  "typeIdentifier": "t_struct$_Action_$5476_memory",
                                  "typeString": "struct Actions.Action memory"
                                },
                                {
                                  "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                                  "typeString": "struct Tables.Table memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2321,
                                "name": "Elements",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5833,
                                "src": "2208:8:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                                  "typeString": "type(library Elements)"
                                }
                              },
                              "id": 2322,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "Element",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5632,
                              "src": "2208:16:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                                "typeString": "type(struct Elements.Element storage pointer)"
                              }
                            },
                            "id": 2349,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2208:456:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Element_$5632_memory",
                              "typeString": "struct Elements.Element memory"
                            }
                          },
                          "src": "2194:470:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_memory",
                            "typeString": "struct Elements.Element memory"
                          }
                        },
                        "id": 2351,
                        "nodeType": "ExpressionStatement",
                        "src": "2194:470:14"
                      },
                      {
                        "assignments": [
                          2355
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2355,
                            "name": "widget",
                            "nodeType": "VariableDeclaration",
                            "scope": 2387,
                            "src": "2678:28:14",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                              "typeString": "struct Widgets.Widget"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 2354,
                              "name": "Widgets.Widget",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 6262,
                              "src": "2678:14:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                                "typeString": "struct Widgets.Widget"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2376,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2358,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2741:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2360,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2359,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2751:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2741:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2362,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2361,
                                "name": "MINT_TOKENS",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2144,
                                "src": "2760:11:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2741:31:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2363,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2790:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2365,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2364,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2800:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2790:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2367,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2366,
                                "name": "SHORT_DESC",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2147,
                                "src": "2809:10:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2790:30:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 2368,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5844,
                                  "src": "2838:9:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                    "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                                  }
                                },
                                "id": 2370,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 2369,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2167,
                                  "src": "2848:7:14",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "2838:18:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 2372,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 2371,
                                "name": "LONG_DESC",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2150,
                                "src": "2857:9:14",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2838:29:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 2373,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2885:1:14",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            },
                            {
                              "argumentTypes": null,
                              "id": 2374,
                              "name": "elements",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2209,
                              "src": "2904:8:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              },
                              {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              {
                                "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                                "typeString": "struct Elements.Element memory[] memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2356,
                              "name": "Widgets",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6424,
                              "src": "2709:7:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Widgets_$6424_$",
                                "typeString": "type(library Widgets)"
                              }
                            },
                            "id": 2357,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "Widget",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6262,
                            "src": "2709:14:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Widget_$6262_storage_ptr_$",
                              "typeString": "type(struct Widgets.Widget storage pointer)"
                            }
                          },
                          "id": 2375,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2709:217:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Widget_$6262_memory",
                            "typeString": "struct Widgets.Widget memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "2678:248:14"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2377,
                              "name": "widget",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2355,
                              "src": "2947:6:14",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                                "typeString": "struct Widgets.Widget memory"
                              }
                            },
                            "id": 2378,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toJson",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 6423,
                            "src": "2947:13:14",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_Widget_$6262_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Widget_$6262_memory_ptr_$",
                              "typeString": "function (struct Widgets.Widget memory) pure returns (string memory)"
                            }
                          },
                          "id": 2379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2947:15:14",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "functionReturnParameters": 2173,
                        "id": 2380,
                        "nodeType": "Return",
                        "src": "2940:22:14"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 2387,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2167,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "809:14:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2166,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "809:6:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2169,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "825:18:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2168,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "825:11:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "808:36:14"
            },
            "payable": false,
            "returnParameters": {
              "id": 2173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2172,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2387,
                  "src": "866:6:14",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2171,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "866:6:14",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "865:8:14"
            },
            "scope": 2388,
            "src": "793:2226:14",
            "stateMutability": "view",
            "superFunction": 1951,
            "visibility": "public"
          }
        ],
        "scope": 2389,
        "src": "186:2835:14"
      }
    ],
    "src": "0:3022:14"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "5777": {
      "events": {},
      "links": {},
      "address": "0x8877b728e4c42e2e3c85fc8f751145a32c42d180",
      "transactionHash": "0xf4d4301eef6ccf3c911f384bf645b2387e003140b4943f9caa991c460d5e9e72"
    }
  },
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-24T12:56:52.488Z"
}