{
  "contractName": "ERC20TokenInputsRenderer",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "MINTALBE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "BURNABLE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "DECIMALS",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "INITIAL_SUPPLY",
      "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": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "NAME",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "UPDATE_CONFIRM",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "PAUSABLE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "UPDATE",
      "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"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "SYMBOL",
      "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": "0x608060405260008054600160a060020a031916331790556131e2806100256000396000f3006080604052600436106100c15763ffffffff60e060020a600035041663197a74d381146100c65780631f6a9ad6146101505780632e0f2625146101655780632ff2e9dc1461017a578063715018a61461018f5780638da5cb5b146101a6578063a3f4df7e146101d7578063b07b3c78146101ec578063b7aa85e114610201578063ca1a70be14610216578063d30f6e201461027a578063ed3487fe1461028f578063f2fde38b14610364578063f65a5c1b14610385578063f76f8d781461041c575b600080fd5b3480156100d257600080fd5b506100db610431565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506100db610468565b34801561017157600080fd5b506100db61049f565b34801561018657600080fd5b506100db6104d6565b34801561019b57600080fd5b506101a461050d565b005b3480156101b257600080fd5b506101bb610579565b60408051600160a060020a039092168252519081900360200190f35b3480156101e357600080fd5b506100db610588565b3480156101f857600080fd5b506100db6105bf565b34801561020d57600080fd5b506100db6105f6565b34801561022257600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100db94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061062d92505050565b34801561028657600080fd5b506100db611f5c565b34801561029b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101a494369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f939650505050505050565b34801561037057600080fd5b506101a4600160a060020a0360043516612080565b34801561039157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100db94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506120a39650505050505050565b34801561042857600080fd5b506100db6121f4565b60408051808201909152600881527f6d696e7461626c65000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600881527f6275726e61626c65000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600881527f646563696d616c73000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600e81527f696e697469616c5f737570706c79000000000000000000000000000000000000602082015281565b600054600160a060020a0316331461052457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60408051808201909152600481527f6e616d6500000000000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600e81527f7570646174655f636f6e6669726d000000000000000000000000000000000000602082015281565b60408051808201909152600881527f7061757361626c65000000000000000000000000000000000000000000000000602082015281565b60408051600880825261012082019092526060918291829160009190816020015b610656613037565b81526020019060019003908161064e57905050925060e0604051908101604052806001151581526020016040805190810160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600881526020017f746578744564697400000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106107285780518252601f199092019160209182019101610709565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260048087527f6e616d650000000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106107b35780518252601f199092019160209182019101610794565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050815260200161094187600160a060020a03166306fdde036040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108ef57600080fd5b81019080805164010000000081111561090757600080fd5b8201602081018481111561091a57600080fd5b815164010000000081118282018710171561093457600080fd5b505092919050505061222b565b815260200161094e612291565b815260200161095b6122e4565b905283518490600090811061096c57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600881526020017f746578744564697400000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310610a365780518252601f199092019160209182019101610a17565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f73796d626f6c000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610ac15780518252601f199092019160209182019101610aa2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b50505050508152602001610bc087600160a060020a03166395d89b416040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156108b257600080fd5b8152602001610bcd612291565b8152602001610bda6122e4565b9052835184906001908110610beb57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081526020016040805190810160405280600a81526020017f6e756d626572456469740000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310610cb55780518252601f199092019160209182019101610c96565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f646563696d616c7300000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610d405780518252601f199092019160209182019101610d21565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610df45780601f10610dc957610100808354040283529160200191610df4565b820191906000526020600020905b815481529060010190602001808311610dd757829003601f168201915b50505050508152602001610e7387600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3f57600080fd5b505af1158015610e53573d6000803e3d6000fd5b505050506040513d6020811015610e6957600080fd5b505160ff16612371565b8152602001610e80612291565b8152602001610e8d6122e4565b9052835184906002908110610e9e57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600e81526020017f696e697469616c5f737570706c790000000000000000000000000000000000008152508152602001610f91610f47610f4289600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3f57600080fd5b6124d0565b610f856040805190810160405280600981526020017f746f6b656e4564697400000000000000000000000000000000000000000000008152506124d0565b9063ffffffff6124f916565b81526020016001886040518082805190602001908083835b60208310610fc85780518252601f199092019160209182019101610fa9565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600e8087527f696e697469616c5f737570706c7900000000000000000000000000000000000093870193845291519095945092508291908083835b602083106110535780518252601f199092019160209182019101611034565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b5050505050815260200161118387600160a060020a031663378dc3dc6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561115257600080fd5b505af1158015611166573d6000803e3d6000fd5b505050506040513d602081101561117c57600080fd5b5051612371565b8152602001611190612291565b815260200161119d6122e4565b90528351849060039081106111ae57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f6d696e7461626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106112785780518252601f199092019160209182019101611259565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f6d696e7461626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106113035780518252601f1990920191602091820191016112e4565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156113b75780601f1061138c576101008083540402835291602001916113b7565b820191906000526020600020905b81548152906001019060200180831161139a57829003601f168201915b5050505050815260200161143587600160a060020a0316634bf365df6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b505af1158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b50511515612570565b8152602001611442612291565b815260200161144f6122e4565b905283518490600490811061146057fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f6275726e61626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b6020831061152a5780518252601f19909201916020918201910161150b565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f6275726e61626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106115b55780518252601f199092019160209182019101611596565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156116695780601f1061163e57610100808354040283529160200191611669565b820191906000526020600020905b81548152906001019060200180831161164c57829003601f168201915b505050505081526020016116b487600160a060020a031663a07c7ce46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b81526020016116c1612291565b81526020016116ce6122e4565b90528351849060059081106116df57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f7061757361626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106117a95780518252601f19909201916020918201910161178a565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f7061757361626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106118345780518252601f199092019160209182019101611815565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156118e85780601f106118bd576101008083540402835291602001916118e8565b820191906000526020600020905b8154815290600101906020018083116118cb57829003601f168201915b5050505050815260200161193387600160a060020a031663367758476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b8152602001611940612291565b815260200161194d6122e4565b905283518490600690811061195e57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f757064617465000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f627574746f6e000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310611a285780518252601f199092019160209182019101611a09565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f757064617465000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310611ab35780518252601f199092019160209182019101611a94565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611b675780601f10611b3c57610100808354040283529160200191611b67565b820191906000526020600020905b815481529060010190602001808311611b4a57829003601f168201915b505050505081526020016040805190810160405280600481526020017f6e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160a06040519081016040528060011515815260200188600160a060020a03168152602001606060405190810160405280603281526020017f75706461746528737472696e672c737472696e672c75696e74382c75696e743281526020017f35362c626f6f6c2c626f6f6c2c626f6f6c2900000000000000000000000000008152508152602001608060405190810160405280604e81526020017f5b226e616d65222c2273796d626f6c222c22646563696d616c73222c22696e6981526020017f7469616c5f737570706c79222c226d696e7461626c65222c226275726e61626c81526020017f65222c227061757361626c65225d000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b60208310611cec5780518252601f199092019160209182019101611ccd565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600e8087527f7570646174655f636f6e6669726d00000000000000000000000000000000000093870193845291519095945092508291908083835b60208310611d775780518252601f199092019160209182019101611d58565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611e2b5780601f10611e0057610100808354040283529160200191611e2b565b820191906000526020600020905b815481529060010190602001808311611e0e57829003601f168201915b50505050508152508152602001611e406122e4565b9052835184906007908110611e5157fe5b906020019060200201819052506040805190810160405280600181526020017f5b000000000000000000000000000000000000000000000000000000000000008152509150600090505b8251811015611f11576000811115611ee157611ede611ed560408051908101604052806001815260200160fa60020a600b028152506124d0565b610f85846124d0565b91505b611f07611ed5610f428584815181101515611ef857fe5b906020019060200201516125ec565b9150600101611e9b565b611f52611ed56040805190810160405280600181526020017f5d000000000000000000000000000000000000000000000000000000000000008152506124d0565b9695505050505050565b60408051808201909152600681527f7570646174650000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314611faa57600080fd5b806001846040518082805190602001908083835b60208310611fdd5780518252601f199092019160209182019101611fbe565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b602083106120395780518252601f19909201916020918201910161201a565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101909320845161207a9591949190910192509050613083565b50505050565b600054600160a060020a0316331461209757600080fd5b6120a0816128c1565b50565b60606001836040518082805190602001908083835b602083106120d75780518252601f1990920191602091820191016120b8565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b602083106121335780518252601f199092019160209182019101612114565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156121e75780601f106121bc576101008083540402835291602001916121e7565b820191906000526020600020905b8154815290600101906020018083116121ca57829003601f168201915b5050505050905092915050565b60408051808201909152600681527f73796d626f6c0000000000000000000000000000000000000000000000000000602082015281565b606061228961225560408051908101604052806001815260200160f960020a6011028152506124d0565b610f85610f42612264866124d0565b610f8560408051908101604052806001815260200160f960020a6011028152506124d0565b90505b919050565b612299613101565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b6122ec61312e565b6040805160608101825260008082528251818152602081810190945291928301919061232e565b61231b613152565b8152602001906001900390816123135790505b508152602001600060405190808252806020026020018201604052801561236957816020015b60608152602001906001900390816123545790505b509052905090565b606080600081818515156123ba5760408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015294506124c7565b6040805160208082528183019092529080820161040080388339019050509350600092505b600086111561242c57600a860660300160f860020a02848481518110151561240357fe5b906020010190600160f860020a031916908160001a905350600a860495506001909201916123df565b60408051848152601f19601f8601168101602001909152600019840193801561245f578160200160208202803883390190505b509150600090505b81518110156124c35783516000198401938591811061248257fe5b90602001015160f860020a900460f860020a0282828151811015156124a357fe5b906020010190600160f860020a031916908160001a905350600101612467565b8194505b50505050919050565b6124d8613185565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015612536578160200160208202803883390190505b509150602082019050612552818660200151876000015161293e565b845160208501518551612568928401919061293e565b509392505050565b606081156125b2575060408051808201909152600481527f7472756500000000000000000000000000000000000000000000000000000000602082015261228c565b5060408051808201909152600581527f66616c7365000000000000000000000000000000000000000000000000000000602082015261228c565b606080826000015115612886576040805190810160405280600781526020017f7b226964223a2200000000000000000000000000000000000000000000000000815250905061264a61264184602001516124d0565b610f85836124d0565b905061267461264160408051908101604052806001815260200160f960020a6011028152506124d0565b60a084015151909150156126db576126c36126416040805190810160405280600b81526020017f2c2022616374696f6e223a0000000000000000000000000000000000000000008152506124d0565b90506126d8612641610f428560a00151612982565b90505b60c0830151511561273f576127276126416040805190810160405280600a81526020017f2c20227461626c65223a000000000000000000000000000000000000000000008152506124d0565b905061273c612641610f428560c00151612b25565b90505b6127806126416040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506124d0565b905061279261264184604001516124d0565b90506127d56126416040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506124d0565b90506127e761264184606001516124d0565b905061282a6126416040805190810160405280600981526020017f222c2264617461223a00000000000000000000000000000000000000000000008152506124d0565b905061283c61264184608001516124d0565b905061287f6126416040805190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152506124d0565b91506124f3565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015291506124f3565b600160a060020a03811615156128d657600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005b60208210612963578251845260209384019390920191601f1990910190612941565b50905182516020929092036101000a6000190180199091169116179052565b606080826000015115612886576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506129e3612641610f428560200151600160a060020a0316612d3c565b9050612a266126416040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a22000000000000000000008152506124d0565b9050612a3861264184604001516124d0565b9050612a7b6126416040805190810160405280600e81526020017f222c22617267756d656e7473223a0000000000000000000000000000000000008152506124d0565b9050612a8d61264184606001516124d0565b9050612ad06126416040805190810160405280600c81526020017f2c22636f6e6669726d223a2200000000000000000000000000000000000000008152506124d0565b9050612ae261264184608001516124d0565b905061287f6126416040805190810160405280600281526020017f227d0000000000000000000000000000000000000000000000000000000000008152506124d0565b606080600080846000015115612cfd57505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b846020015151811015612bf3576000821115612bbb57612bb8612baf60408051908101604052806001815260200160fa60020a600b028152506124d0565b610f85856124d0565b92505b612be5612baf610f42876020015184815181101515612bd657fe5b90602001906020020151612e7f565b925060019182019101612b71565b612c34612baf6040805190810160405280600a81526020017f5d2c22726f7773223a5b000000000000000000000000000000000000000000008152506124d0565b925060009150600090505b846040015151811015612cb5576000821115612c8057612c7d612baf60408051908101604052806001815260200160fa60020a600b028152506124d0565b92505b612ca7612baf866040015183815181101515612c9857fe5b906020019060200201516124d0565b925060019182019101612c3f565b612cf6612baf6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506124d0565b9350612d34565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f3000000000000000000000000000000000000000000000000000000000000000918691506000908110612d9857fe5b906020010190600160f860020a031916908160001a90535083517f78000000000000000000000000000000000000000000000000000000000000009085906001908110612de157fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015612e7557506030600f8316016039600160a060020a0382161115612e28576027015b8060f860020a028483602803600101815181101515612e4357fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190612e01565b5091949350505050565b606080826000015115612886576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050612ed461264184602001516124d0565b9050612efe61264160408051908101604052806001815260200160f960020a6011028152506124d0565b60808401515190915015612f8f57612f3461264160408051908101604052806001815260200160fa60020a600b028152506124d0565b9050612f776126416040805190810160405280600981526020017f22616374696f6e223a00000000000000000000000000000000000000000000008152506124d0565b9050612f8c612641610f428560800151612982565b90505b612fd06126416040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506124d0565b9050612fe261264184604001516124d0565b90506130256126416040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506124d0565b9050612ae261264184606001516124d0565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001613071613101565b815260200161307e61312e565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130c457805160ff19168380011785556130f1565b828001600101855582156130f1579182015b828111156130f15782518255916020019190600101906130d6565b506130fd92915061319c565b5090565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b6101206040519081016040528060001515815260200160608152602001606081526020016060815260200161307e613101565b604080518082019091526000808252602082015290565b6122e191905b808211156130fd57600081556001016131a25600a165627a7a72305820f2bd936fcdf9e9955b0130ba0bed3550113060d1570e3c224821fa6623f03dd30029",
  "deployedBytecode": "0x6080604052600436106100c15763ffffffff60e060020a600035041663197a74d381146100c65780631f6a9ad6146101505780632e0f2625146101655780632ff2e9dc1461017a578063715018a61461018f5780638da5cb5b146101a6578063a3f4df7e146101d7578063b07b3c78146101ec578063b7aa85e114610201578063ca1a70be14610216578063d30f6e201461027a578063ed3487fe1461028f578063f2fde38b14610364578063f65a5c1b14610385578063f76f8d781461041c575b600080fd5b3480156100d257600080fd5b506100db610431565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506100db610468565b34801561017157600080fd5b506100db61049f565b34801561018657600080fd5b506100db6104d6565b34801561019b57600080fd5b506101a461050d565b005b3480156101b257600080fd5b506101bb610579565b60408051600160a060020a039092168252519081900360200190f35b3480156101e357600080fd5b506100db610588565b3480156101f857600080fd5b506100db6105bf565b34801561020d57600080fd5b506100db6105f6565b34801561022257600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100db94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061062d92505050565b34801561028657600080fd5b506100db611f5c565b34801561029b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101a494369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f939650505050505050565b34801561037057600080fd5b506101a4600160a060020a0360043516612080565b34801561039157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100db94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506120a39650505050505050565b34801561042857600080fd5b506100db6121f4565b60408051808201909152600881527f6d696e7461626c65000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600881527f6275726e61626c65000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600881527f646563696d616c73000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600e81527f696e697469616c5f737570706c79000000000000000000000000000000000000602082015281565b600054600160a060020a0316331461052457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60408051808201909152600481527f6e616d6500000000000000000000000000000000000000000000000000000000602082015281565b60408051808201909152600e81527f7570646174655f636f6e6669726d000000000000000000000000000000000000602082015281565b60408051808201909152600881527f7061757361626c65000000000000000000000000000000000000000000000000602082015281565b60408051600880825261012082019092526060918291829160009190816020015b610656613037565b81526020019060019003908161064e57905050925060e0604051908101604052806001151581526020016040805190810160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600881526020017f746578744564697400000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106107285780518252601f199092019160209182019101610709565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260048087527f6e616d650000000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106107b35780518252601f199092019160209182019101610794565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050815260200161094187600160a060020a03166306fdde036040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108ef57600080fd5b81019080805164010000000081111561090757600080fd5b8201602081018481111561091a57600080fd5b815164010000000081118282018710171561093457600080fd5b505092919050505061222b565b815260200161094e612291565b815260200161095b6122e4565b905283518490600090811061096c57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600881526020017f746578744564697400000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310610a365780518252601f199092019160209182019101610a17565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f73796d626f6c000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610ac15780518252601f199092019160209182019101610aa2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610b755780601f10610b4a57610100808354040283529160200191610b75565b820191906000526020600020905b815481529060010190602001808311610b5857829003601f168201915b50505050508152602001610bc087600160a060020a03166395d89b416040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156108b257600080fd5b8152602001610bcd612291565b8152602001610bda6122e4565b9052835184906001908110610beb57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081526020016040805190810160405280600a81526020017f6e756d626572456469740000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310610cb55780518252601f199092019160209182019101610c96565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f646563696d616c7300000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610d405780518252601f199092019160209182019101610d21565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610df45780601f10610dc957610100808354040283529160200191610df4565b820191906000526020600020905b815481529060010190602001808311610dd757829003601f168201915b50505050508152602001610e7387600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3f57600080fd5b505af1158015610e53573d6000803e3d6000fd5b505050506040513d6020811015610e6957600080fd5b505160ff16612371565b8152602001610e80612291565b8152602001610e8d6122e4565b9052835184906002908110610e9e57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600e81526020017f696e697469616c5f737570706c790000000000000000000000000000000000008152508152602001610f91610f47610f4289600160a060020a031663313ce5676040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610e3f57600080fd5b6124d0565b610f856040805190810160405280600981526020017f746f6b656e4564697400000000000000000000000000000000000000000000008152506124d0565b9063ffffffff6124f916565b81526020016001886040518082805190602001908083835b60208310610fc85780518252601f199092019160209182019101610fa9565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600e8087527f696e697469616c5f737570706c7900000000000000000000000000000000000093870193845291519095945092508291908083835b602083106110535780518252601f199092019160209182019101611034565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b5050505050815260200161118387600160a060020a031663378dc3dc6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561115257600080fd5b505af1158015611166573d6000803e3d6000fd5b505050506040513d602081101561117c57600080fd5b5051612371565b8152602001611190612291565b815260200161119d6122e4565b90528351849060039081106111ae57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f6d696e7461626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106112785780518252601f199092019160209182019101611259565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f6d696e7461626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106113035780518252601f1990920191602091820191016112e4565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156113b75780601f1061138c576101008083540402835291602001916113b7565b820191906000526020600020905b81548152906001019060200180831161139a57829003601f168201915b5050505050815260200161143587600160a060020a0316634bf365df6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b505af1158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b50511515612570565b8152602001611442612291565b815260200161144f6122e4565b905283518490600490811061146057fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f6275726e61626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b6020831061152a5780518252601f19909201916020918201910161150b565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f6275726e61626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106115b55780518252601f199092019160209182019101611596565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156116695780601f1061163e57610100808354040283529160200191611669565b820191906000526020600020905b81548152906001019060200180831161164c57829003601f168201915b505050505081526020016116b487600160a060020a031663a07c7ce46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b81526020016116c1612291565b81526020016116ce6122e4565b90528351849060059081106116df57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600881526020017f7061757361626c6500000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f737769746368000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b602083106117a95780518252601f19909201916020918201910161178a565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260088087527f7061757361626c6500000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106118345780518252601f199092019160209182019101611815565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156118e85780601f106118bd576101008083540402835291602001916118e8565b820191906000526020600020905b8154815290600101906020018083116118cb57829003601f168201915b5050505050815260200161193387600160a060020a031663367758476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561140257600080fd5b8152602001611940612291565b815260200161194d6122e4565b905283518490600690811061195e57fe5b9060200190602002018190525060e0604051908101604052806001151581526020016040805190810160405280600681526020017f757064617465000000000000000000000000000000000000000000000000000081525081526020016040805190810160405280600681526020017f627574746f6e000000000000000000000000000000000000000000000000000081525081526020016001886040518082805190602001908083835b60208310611a285780518252601f199092019160209182019101611a09565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260068087527f757064617465000000000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310611ab35780518252601f199092019160209182019101611a94565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611b675780601f10611b3c57610100808354040283529160200191611b67565b820191906000526020600020905b815481529060010190602001808311611b4a57829003601f168201915b505050505081526020016040805190810160405280600481526020017f6e756c6c00000000000000000000000000000000000000000000000000000000815250815260200160a06040519081016040528060011515815260200188600160a060020a03168152602001606060405190810160405280603281526020017f75706461746528737472696e672c737472696e672c75696e74382c75696e743281526020017f35362c626f6f6c2c626f6f6c2c626f6f6c2900000000000000000000000000008152508152602001608060405190810160405280604e81526020017f5b226e616d65222c2273796d626f6c222c22646563696d616c73222c22696e6981526020017f7469616c5f737570706c79222c226d696e7461626c65222c226275726e61626c81526020017f65222c227061757361626c65225d000000000000000000000000000000000000815250815260200160018a6040518082805190602001908083835b60208310611cec5780518252601f199092019160209182019101611ccd565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600e8087527f7570646174655f636f6e6669726d00000000000000000000000000000000000093870193845291519095945092508291908083835b60208310611d775780518252601f199092019160209182019101611d58565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015611e2b5780601f10611e0057610100808354040283529160200191611e2b565b820191906000526020600020905b815481529060010190602001808311611e0e57829003601f168201915b50505050508152508152602001611e406122e4565b9052835184906007908110611e5157fe5b906020019060200201819052506040805190810160405280600181526020017f5b000000000000000000000000000000000000000000000000000000000000008152509150600090505b8251811015611f11576000811115611ee157611ede611ed560408051908101604052806001815260200160fa60020a600b028152506124d0565b610f85846124d0565b91505b611f07611ed5610f428584815181101515611ef857fe5b906020019060200201516125ec565b9150600101611e9b565b611f52611ed56040805190810160405280600181526020017f5d000000000000000000000000000000000000000000000000000000000000008152506124d0565b9695505050505050565b60408051808201909152600681527f7570646174650000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314611faa57600080fd5b806001846040518082805190602001908083835b60208310611fdd5780518252601f199092019160209182019101611fbe565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b602083106120395780518252601f19909201916020918201910161201a565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101909320845161207a9591949190910192509050613083565b50505050565b600054600160a060020a0316331461209757600080fd5b6120a0816128c1565b50565b60606001836040518082805190602001908083835b602083106120d75780518252601f1990920191602091820191016120b8565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b602083106121335780518252601f199092019160209182019101612114565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156121e75780601f106121bc576101008083540402835291602001916121e7565b820191906000526020600020905b8154815290600101906020018083116121ca57829003601f168201915b5050505050905092915050565b60408051808201909152600681527f73796d626f6c0000000000000000000000000000000000000000000000000000602082015281565b606061228961225560408051908101604052806001815260200160f960020a6011028152506124d0565b610f85610f42612264866124d0565b610f8560408051908101604052806001815260200160f960020a6011028152506124d0565b90505b919050565b612299613101565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b6122ec61312e565b6040805160608101825260008082528251818152602081810190945291928301919061232e565b61231b613152565b8152602001906001900390816123135790505b508152602001600060405190808252806020026020018201604052801561236957816020015b60608152602001906001900390816123545790505b509052905090565b606080600081818515156123ba5760408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015294506124c7565b6040805160208082528183019092529080820161040080388339019050509350600092505b600086111561242c57600a860660300160f860020a02848481518110151561240357fe5b906020010190600160f860020a031916908160001a905350600a860495506001909201916123df565b60408051848152601f19601f8601168101602001909152600019840193801561245f578160200160208202803883390190505b509150600090505b81518110156124c35783516000198401938591811061248257fe5b90602001015160f860020a900460f860020a0282828151811015156124a357fe5b906020010190600160f860020a031916908160001a905350600101612467565b8194505b50505050919050565b6124d8613185565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015612536578160200160208202803883390190505b509150602082019050612552818660200151876000015161293e565b845160208501518551612568928401919061293e565b509392505050565b606081156125b2575060408051808201909152600481527f7472756500000000000000000000000000000000000000000000000000000000602082015261228c565b5060408051808201909152600581527f66616c7365000000000000000000000000000000000000000000000000000000602082015261228c565b606080826000015115612886576040805190810160405280600781526020017f7b226964223a2200000000000000000000000000000000000000000000000000815250905061264a61264184602001516124d0565b610f85836124d0565b905061267461264160408051908101604052806001815260200160f960020a6011028152506124d0565b60a084015151909150156126db576126c36126416040805190810160405280600b81526020017f2c2022616374696f6e223a0000000000000000000000000000000000000000008152506124d0565b90506126d8612641610f428560a00151612982565b90505b60c0830151511561273f576127276126416040805190810160405280600a81526020017f2c20227461626c65223a000000000000000000000000000000000000000000008152506124d0565b905061273c612641610f428560c00151612b25565b90505b6127806126416040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506124d0565b905061279261264184604001516124d0565b90506127d56126416040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506124d0565b90506127e761264184606001516124d0565b905061282a6126416040805190810160405280600981526020017f222c2264617461223a00000000000000000000000000000000000000000000008152506124d0565b905061283c61264184608001516124d0565b905061287f6126416040805190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152506124d0565b91506124f3565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015291506124f3565b600160a060020a03811615156128d657600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005b60208210612963578251845260209384019390920191601f1990910190612941565b50905182516020929092036101000a6000190180199091169116179052565b606080826000015115612886576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506129e3612641610f428560200151600160a060020a0316612d3c565b9050612a266126416040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a22000000000000000000008152506124d0565b9050612a3861264184604001516124d0565b9050612a7b6126416040805190810160405280600e81526020017f222c22617267756d656e7473223a0000000000000000000000000000000000008152506124d0565b9050612a8d61264184606001516124d0565b9050612ad06126416040805190810160405280600c81526020017f2c22636f6e6669726d223a2200000000000000000000000000000000000000008152506124d0565b9050612ae261264184608001516124d0565b905061287f6126416040805190810160405280600281526020017f227d0000000000000000000000000000000000000000000000000000000000008152506124d0565b606080600080846000015115612cfd57505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b846020015151811015612bf3576000821115612bbb57612bb8612baf60408051908101604052806001815260200160fa60020a600b028152506124d0565b610f85856124d0565b92505b612be5612baf610f42876020015184815181101515612bd657fe5b90602001906020020151612e7f565b925060019182019101612b71565b612c34612baf6040805190810160405280600a81526020017f5d2c22726f7773223a5b000000000000000000000000000000000000000000008152506124d0565b925060009150600090505b846040015151811015612cb5576000821115612c8057612c7d612baf60408051908101604052806001815260200160fa60020a600b028152506124d0565b92505b612ca7612baf866040015183815181101515612c9857fe5b906020019060200201516124d0565b925060019182019101612c3f565b612cf6612baf6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506124d0565b9350612d34565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f3000000000000000000000000000000000000000000000000000000000000000918691506000908110612d9857fe5b906020010190600160f860020a031916908160001a90535083517f78000000000000000000000000000000000000000000000000000000000000009085906001908110612de157fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015612e7557506030600f8316016039600160a060020a0382161115612e28576027015b8060f860020a028483602803600101815181101515612e4357fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190612e01565b5091949350505050565b606080826000015115612886576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050612ed461264184602001516124d0565b9050612efe61264160408051908101604052806001815260200160f960020a6011028152506124d0565b60808401515190915015612f8f57612f3461264160408051908101604052806001815260200160fa60020a600b028152506124d0565b9050612f776126416040805190810160405280600981526020017f22616374696f6e223a00000000000000000000000000000000000000000000008152506124d0565b9050612f8c612641610f428560800151612982565b90505b612fd06126416040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506124d0565b9050612fe261264184604001516124d0565b90506130256126416040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506124d0565b9050612ae261264184606001516124d0565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001613071613101565b815260200161307e61312e565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130c457805160ff19168380011785556130f1565b828001600101855582156130f1579182015b828111156130f15782518255916020019190600101906130d6565b506130fd92915061319c565b5090565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b6101206040519081016040528060001515815260200160608152602001606081526020016060815260200161307e613101565b604080518082019091526000808252602082015290565b6122e191905b808211156130fd57600081556001016131a25600a165627a7a72305820f2bd936fcdf9e9955b0130ba0bed3550113060d1570e3c224821fa6623f03dd30029",
  "sourceMap": "436:3534:3:-;;;567:5:27;:18;;-1:-1:-1;;;;;;567:18:27;575:10;567:18;;;436:3534:3;;;;;;",
  "deployedSourceMap": "436:3534:3:-;;;;;;;;;-1:-1:-1;;;436:3534:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;865:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;865:44:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;865:44:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915;;8:9:-1;5:2;;;30:1;27;20:12;5:2;915:44:3;;;;753;;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:44:3;;;;803:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;803:56:3;;;;1001:111:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:27;;;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:27;;;;;;;;-1:-1:-1;;;;;238:20:27;;;;;;;;;;;;;;665:36:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;665:36:3;;;;1061:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1061:56:3;;;;965:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;965:44:3;;;;1124:2844;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1124:2844:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1124:2844:3;;-1:-1:-1;;;1124:2844:3;;-1:-1:-1;;;;;1124:2844:3;;-1:-1:-1;1124:2844:3;;-1:-1:-1;;;1124:2844:3;1015:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1015:40:3;;;;186:126:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;186:126:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;186:126:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:18;;;;-1:-1:-1;186:126:18;-1:-1:-1;186:126:18;;-1:-1:-1;186:126:18;;;;;;;;-1:-1:-1;;186:126:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:18;;;;-1:-1:-1;186:126:18;-1:-1:-1;186:126:18;;-1:-1:-1;186:126:18;;;;;;;;-1:-1:-1;186:126:18;;-1:-1:-1;186:126:18;;-1:-1:-1;;;;;;;186:126:18;1274:103:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:27;-1:-1:-1;;;;;1274:103:27;;;;;318:120:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;318:120:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;318:120:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;318:120:18;;;;-1:-1:-1;318:120:18;-1:-1:-1;318:120:18;;-1:-1:-1;318:120:18;;;;;;;;-1:-1:-1;318:120:18;;-1:-1:-1;318:120:18;;-1:-1:-1;;;;;;;318:120:18;707:40:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;707:40:3;;;;865:44;;;;;;;;;;;;;;;;;;;:::o;915:::-;;;;;;;;;;;;;;;;;;;:::o;753:::-;;;;;;;;;;;;;;;;;;;:::o;803:56::-;;;;;;;;;;;;;;;;;;;:::o;1001:111:27:-;719:5;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:27;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:27;;;1001:111::o;238:20::-;;;-1:-1:-1;;;;;238:20:27;;:::o;665:36:3:-;;;;;;;;;;;;;;;;;;;:::o;1061:56::-;;;;;;;;;;;;;;;;;;;:::o;965:44::-;;;;;;;;;;;;;;;;;;;:::o;1124:2844::-;1251:25;;;1274:1;1251:25;;;;;;;;;1196:6;;;;;;3686;;1251:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1214:62;;1300:217;;;;;;;;;1330:4;1300:217;;;;;;1348:4;;;;;;;;;;;;;;;;;;1300:217;;;;;;;;;;;;;;;;;;;;;;;;;;1390:9;1400:7;1390: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;;1390:18:3;;;;;-1:-1:-1;1390:18:3;;;;;;;;;;;1409:4;;;;;;;;;;;;;;;;1390:24;;:18;;;-1:-1:-1;1390:24:3;-1:-1:-1;1390:24:3;;1409:4;;1390:24;1409: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;;;1390:24:3;;;;;;;;;;;;;;;;;;1300:217;;;;274:1:-1;1300:217:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1390:24;;-1:-1:-1;1300:217:3;-1:-1:-1;;1300:217:3;;1390:24;1300:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1428:22;:6;-1:-1:-1;;;;;1428:11:3;;:13;;;;;-1:-1:-1;;;1428:13:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1428:13:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1428:13:3;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1428:13:3;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;1428:13:3;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1428:13:3;;;;;;:20;:22::i;:::-;1300:217;;;;1464:15;:13;:15::i;:::-;1300:217;;;;1493:14;:12;:14::i;:::-;1300:217;;1286:11;;:8;;1295:1;;1286:11;;;;;;;;;;;;;:231;;;;1541:223;;;;;;;;;1571:4;1541:223;;;;;;1589:6;;;;;;;;;;;;;;;;;;1541:223;;;;;;;;;;;;;;;;;;;;;;;;;;1633:9;1643:7;1633: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;;1633:18:3;;;;;-1:-1:-1;1633:18:3;;;;;;;;;;;1652:6;;;;;;;;;;;;;;;;1633:26;;:18;;;-1:-1:-1;1633:26:3;-1:-1:-1;1633:26:3;;1652:6;;1633:26;1652: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;;;1633:26:3;;;;;;;;;;;;;;;;;;1541:223;;;;274:1:-1;1541:223:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1633:26;;-1:-1:-1;1541:223:3;-1:-1:-1;;1541:223:3;;1633:26;1541:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1673:24;:6;-1:-1:-1;;;;;1673:13:3;;:15;;;;;-1:-1:-1;;;1673:15:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;1673:24:3;1541:223;;;;1711:15;:13;:15::i;:::-;1541:223;;;;1740:14;:12;:14::i;:::-;1541:223;;1527:11;;:8;;1536:1;;1527:11;;;;;;;;;;;;;:237;;;;1788:239;;;;;;;;;1818:4;1788:239;;;;;;1836:8;;;;;;;;;;;;;;;;;;1788:239;;;;;;;;;;;;;;;;;;;;;;;;;;1884:9;1894:7;1884: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;;1884:18:3;;;;;-1:-1:-1;1884:18:3;;;;;;;;;;;1903:8;;;;;;;;;;;;;;;;1884:28;;:18;;;-1:-1:-1;1884:28:3;-1:-1:-1;1884:28:3;;1903:8;;1884:28;1903:8;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;;;1884:28:3;;;;;;;;;;;;;;;;;;1788:239;;;;274:1:-1;1788:239:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1884:28;;-1:-1:-1;1788:239:3;-1:-1:-1;;1788:239:3;;1884:28;1788:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1926:34;1931:6;-1:-1:-1;;;;;1931:15:3;;:17;;;;;-1:-1:-1;;;1931:17:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1931:17:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1931:17:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1931:17:3;1926:23;;:32;:34::i;:::-;1788:239;;;;1974:15;:13;:15::i;:::-;1788:239;;;;2003:14;:12;:14::i;:::-;1788:239;;1774:11;;:8;;1783:1;;1774:11;;;;;;;;;;;;;:253;;;;2051:312;;;;;;;;;2081:4;2051:312;;;;;;2099:14;;;;;;;;;;;;;;;;;;2051:312;;;;2127:74;2156:44;:34;2161:6;-1:-1:-1;;;;;2161:15:3;;:17;;;;;-1:-1:-1;;;2161:17:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;2156:34:3;:42;:44::i;:::-;2127:21;:19;;;;;;;;;;;;;;;;;;;:21::i;:::-;:28;:74;:28;:74;:::i;:::-;2051:312;;;;2215:9;2225:7;2215: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;;2215:18:3;;;;;-1:-1:-1;2215:18:3;;;;;;;;;;;2234:14;;;;;;;;;;;;;;;;2215:34;;:18;;;-1:-1:-1;2215:34:3;-1:-1:-1;2215:34:3;;2234:14;;2215:34;2234:14;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;;;2215:34:3;;;;;;;;;;;;;;;;;;2051:312;;;;274:1:-1;2051:312:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2215:34;;-1:-1:-1;2051:312:3;-1:-1:-1;;2051:312:3;;2215:34;2051:312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2263:33;:6;-1:-1:-1;;;;;2263:20:3;;:22;;;;;-1:-1:-1;;;2263:22:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2263:22:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2263:22:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2263:22:3;:31;:33::i;:::-;2051:312;;;;2310:15;:13;:15::i;:::-;2051:312;;;;2339:14;:12;:14::i;:::-;2051:312;;2037:11;;:8;;2046:1;;2037:11;;;;;;;;;;;;;:326;;;;2387:229;;;;;;;;;2417:4;2387:229;;;;;;2435:8;;;;;;;;;;;;;;;;;;2387:229;;;;;;;;;;;;;;;;;;;;;;;;;;2479:9;2489:7;2479: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;;2479:18:3;;;;;-1:-1:-1;2479:18:3;;;;;;;;;;;2498:8;;;;;;;;;;;;;;;;2479:28;;:18;;;-1:-1:-1;2479:28:3;-1:-1:-1;2479:28:3;;2498:8;;2479:28;2498:8;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;;;2479:28:3;;;;;;;;;;;;;;;;;;2387:229;;;;274:1:-1;2387:229:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2479:28;;-1:-1:-1;2387:229:3;-1:-1:-1;;2387:229:3;;2479:28;2387:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2521:28;:6;-1:-1:-1;;;;;2521:15:3;;:17;;;;;-1:-1:-1;;;2521:17:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2521:17:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2521:17:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2521:17:3;:26;;;:28::i;:::-;2387:229;;;;2563:15;:13;:15::i;:::-;2387:229;;;;2592:14;:12;:14::i;:::-;2387:229;;2373:11;;:8;;2382:1;;2373:11;;;;;;;;;;;;;:243;;;;2640:229;;;;;;;;;2670:4;2640:229;;;;;;2688:8;;;;;;;;;;;;;;;;;;2640:229;;;;;;;;;;;;;;;;;;;;;;;;;;2732:9;2742:7;2732: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;;2732:18:3;;;;;-1:-1:-1;2732:18:3;;;;;;;;;;;2751:8;;;;;;;;;;;;;;;;2732:28;;:18;;;-1:-1:-1;2732:28:3;-1:-1:-1;2732:28:3;;2751:8;;2732:28;2751:8;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;;;2732:28:3;;;;;;;;;;;;;;;;;;2640:229;;;;274:1:-1;2640:229:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:28;;-1:-1:-1;2640:229:3;-1:-1:-1;;2640:229:3;;2732:28;2640:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2774:28;:6;-1:-1:-1;;;;;2774:15:3;;:17;;;;;-1:-1:-1;;;2774:17:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;2774:28:3;2640:229;;;;2816:15;:13;:15::i;:::-;2640:229;;;;2845:14;:12;:14::i;:::-;2640:229;;2626:11;;:8;;2635:1;;2626:11;;;;;;;;;;;;;:243;;;;2893:229;;;;;;;;;2923:4;2893:229;;;;;;2941:8;;;;;;;;;;;;;;;;;;2893:229;;;;;;;;;;;;;;;;;;;;;;;;;;2985:9;2995:7;2985: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;;2985:18:3;;;;;-1:-1:-1;2985:18:3;;;;;;;;;;;3004:8;;;;;;;;;;;;;;;;2985:28;;:18;;;-1:-1:-1;2985:28:3;-1:-1:-1;2985:28:3;;3004:8;;2985:28;3004:8;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;;;2985:28:3;;;;;;;;;;;;;;;;;;2893:229;;;;274:1:-1;2893:229:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2985:28;;-1:-1:-1;2893:229:3;-1:-1:-1;;2893:229:3;;2985:28;2893:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3027:28;:6;-1:-1:-1;;;;;3027:15:3;;:17;;;;;-1:-1:-1;;;3027:17:3;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;3027:28:3;2893:229;;;;3069:15;:13;:15::i;:::-;2893:229;;;;3098:14;:12;:14::i;:::-;2893:229;;2879:11;;:8;;2888:1;;2879:11;;;;;;;;;;;;;:243;;;;3146:491;;;;;;;;;3176:4;3146:491;;;;;;3194:6;;;;;;;;;;;;;;;;;;3146:491;;;;;;;;;;;;;;;;;;;;;;;;;;3236:9;3246:7;3236: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;;3236:18:3;;;;;-1:-1:-1;3236:18:3;;;;;;;;;;;3255:6;;;;;;;;;;;;;;;;3236:26;;:18;;;-1:-1:-1;3236:26:3;-1:-1:-1;3236:26:3;;3255:6;;3236:26;3255: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;;;3236:26:3;;;;;;;;;;;;;;;;;;3146:491;;;;274:1:-1;3146:491:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:26;;-1:-1:-1;3146:491:3;-1:-1:-1;;3146:491:3;;3236:26;3146:491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3296:303;;;;;;;;;3328:4;3296:303;;;;;;3358:6;-1:-1:-1;;;;;3296:303:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3551:9;3561:7;3551: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;;3551:18:3;;;;;-1:-1:-1;3551:18:3;;;;;;;;;;;3570:14;;;;;;;;;;;;;;;;3551:34;;:18;;;-1:-1:-1;3551:34:3;-1:-1:-1;3551:34:3;;3570:14;;3551:34;3570:14;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;;;3551:34:3;;;;;;;;;;;;;;;;;;3296:303;;;;274:1:-1;3296:303:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3551:34;;-1:-1:-1;3296:303:3;-1:-1:-1;;3296:303:3;;3551:34;3296:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3146:491;;;;3613:14;:12;:14::i;:::-;3146:491;;3132:11;;:8;;3141:1;;3132:11;;;;;;;;;;;;;:505;;;;3647:24;;;;;;;;;;;;;;;;;;;;3695:1;3686:10;;3681:228;3702:8;:15;3698:1;:19;3681:228;;;3746:1;3742;:5;3738:87;;;3774:36;3796:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;3796:11:3;;;;:13::i;:::-;3774:14;:4;:12;:14::i;:36::-;3767:43;;3738:87;3845:53;3867:30;:20;:8;3876:1;3867:11;;;;;;;;;;;;;;;;;;:18;:20::i;3845:53::-;3838:60;-1:-1:-1;3719:3:3;;3681:228;;;3925:36;3947:13;:11;;;;;;;;;;;;;;;;;;;:13::i;3925:36::-;3918:43;1124:2844;-1:-1:-1;;;;;;1124:2844:3:o;1015:40::-;;;;;;;;;;;;;;;;;;;:::o;186:126:18:-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;300:5:18;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:18;;;;;-1:-1:-1;275:17:18;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;275:17:18;-1:-1:-1;275:17:18;;: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:18;;;;;-1:-1:-1;275:22:18;;;;;;;;;;;:30;;;;:22;;:30;;;;;-1:-1:-1;275:30:18;-1:-1:-1;275:30:18;:::i;:::-;;186:126;;;:::o;1274:103:27:-;719:5;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;318:120:18:-;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:18;;;;;-1:-1:-1;409:17:18;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;409:17:18;-1:-1:-1;409:17:18;;: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:18;;;;;;;;;;;;;;;;;;402:29;;;;274:1:-1;402:29:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;409:22;;-1:-1:-1;402:29:18;-1:-1:-1;;402:29:18;;409:22;402:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;318:120;;;;:::o;707:40:3:-;;;;;;;;;;;;;;;;;;;:::o;103:158:13:-;158:6;183:71;240:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;240:11:13;;;;:13::i;:::-;183:49;:39;204:17;:7;:15;:17::i;:::-;183:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;183:11:13;;;;:13::i;:71::-;176:78;;103:158;;;;:::o;329:116:16:-;369:6;;:::i;:::-;-1:-1:-1;401:37:16;;;;;;;;-1:-1:-1;401:37:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;329:116;;:::o;374:124:20:-;414:5;;:::i;:::-;445:46;;;;;;;;-1:-1:-1;445:46:20;;;458:15;;;;;445:46;458:15;;;;;;445:46;;;;;458:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;445:46;;;;488:1;475:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;445:46:20;;438:53;-1:-1:-1;374:124:20;:::o;50:483:14:-;103:6;;231;103;231;132:10;;128:51;;;158:10;;;;;;;;;;;;;;;;;;-1:-1:-1;158:10:14;;128:51;208:13;;;218:2;208:13;;;;;;;;;;;;;17:15:-1;;105:10;208:13:14;88:34:-1;136:17;;-1:-1;208:13:14;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:14;289:4;294:1;289:7;;;;;;;;;;;;;;:33;-1:-1:-1;;;;;289:33:14;;;;;;;;-1:-1:-1;345:2:14;336:11;;;-1:-1:-1;270:3:14;;;;;247:111;;;388:14;;;;;;-1:-1:-1;;388:14:14;;;;;;;;;;;-1:-1:-1;;398:3:14;;;388:14;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;388:14:14;;367:35;;426:1;417:10;;412:85;433:5;:12;429:1;:16;412:85;;;477:9;;-1:-1:-1;;482:3:14;;;477:4;;:9;;;;;;;;;;;-1:-1:-1;;;477:9:14;;-1:-1:-1;;;477:9:14;466:5;472:1;466:8;;;;;;;;;;;;;;:20;-1:-1:-1;;;;;466:20:14;;;;;;;;-1:-1:-1;447:3:14;;412:85;;;520:5;506:20;;50:483;;;;;;;;:::o;2837:210:15:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:15;;;;;;;;;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:15;;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:15;23944:355;-1:-1:-1;;;23944:355:15:o;50:178:12:-;103:6;132:5;128:94;;;-1:-1:-1;153:13:12;;;;;;;;;;;;;;;;;;;128:94;-1:-1:-1;197:14:12;;;;;;;;;;;;;;;;;;;568:1172:17;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;;;;;;;;;;;;;;-1:-1:-1;;;;;814:11:17;;;;:13::i;792:36::-;846:12;;;;:19;785:43;;-1:-1:-1;842:190:17;;;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:17;;1512:171:27;-1:-1:-1;;;;;1582:23:27;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:27;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:27;-1:-1:-1;;;;;1661:17:27;;;;;;;;;;1512:171::o;2089:548:15:-;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:15;;;;2209:164;;;-1:-1:-1;2500:10:15;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:15;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;451:765:16:-;511:6;561:18;533:5;:12;;;529:681;;;561:35;;;;;;;;;;;;;;;;;;;;617:52;639:29;:19;:5;:8;;;-1:-1:-1;;;;;639:17:16;;: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:20:-;563:6;613:18;662:11;696:6;585:5;:12;;;581:895;;;-1:-1:-1;;613:35:20;;;;;;;;;;;;;;;;;;-1:-1:-1;;;691:298:20;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:20;;;;: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:20;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:20;;;;: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:20;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:20;504:978;;;;;;:::o;206:443:11:-;307:13;;;317:2;307:13;;;262:6;307:13;;;;;;262:6;;387:11;;;;;;307:13;;;17:15:-1;;105:10;307:13:11;88:34:-1;-1:-1;;330:7:11;;287:33;;-1:-1:-1;340:8:11;;287:33;;-1:-1:-1;335:1:11;;330:7;;;;;;;;;;:18;-1:-1:-1;;;;;330:18:11;;;;;;;;-1:-1:-1;358:7:11;;368:9;;358:4;;363:1;;358:7;;;;;;;;;;:19;-1:-1:-1;;;;;358:19:11;;;;;;;;;409:5;387:28;;450:1;446:5;;441:173;457:2;453:1;:6;441:173;;;-1:-1:-1;505:2:11;493:8;;;492:15;529:2;-1:-1:-1;;;;;525:6:11;;;521:19;;;538:2;533:7;521:19;578:1;-1:-1:-1;;;573:7:11;554:4;564:1;559:2;:6;568:1;559:10;554:16;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;554:26:11;;;;;;;;-1:-1:-1;601:2:11;-1:-1:-1;;;;;594:9:11;;;;-1:-1:-1;461:3:11;;;;;441:173;;;-1:-1:-1;637:4:11;;206:443;-1:-1:-1;;;;206:443:11:o;1488:909:20:-;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;;;;;;;;;;;;;;-1:-1:-1;;;;;1740:11:20;;;;:13::i;1718:36::-;1772:12;;;;:19;1711:43;;-1:-1:-1;1768:249:20;;;1818:36;1840:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1840:11:20;;;;: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;436:3534:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;436:3534:3;;;-1:-1:-1;436:3534:3;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;436:3534:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;436:3534:3;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC20TokenWidgetRenderer.sol\";\nimport \"tokenboost-solidity/contracts/utils/strings.sol\";\nimport \"tokenboost-solidity/contracts/utils/UintUtils.sol\";\nimport \"tokenboost-solidity/contracts/utils/BoolUtils.sol\";\nimport \"tokenboost-solidity/contracts/utils/StringUtils.sol\";\nimport \"tokenboost-solidity/contracts/widget/Elements.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol\";\n\ncontract ERC20TokenInputsRenderer is ERC20TokenWidgetRenderer {\n    using strings for *;\n    using UintUtils for uint;\n    using BoolUtils for bool;\n    using StringUtils for string;\n    using Elements for Elements.Element;\n\n    string public constant NAME = \"name\";\n    string public constant SYMBOL = \"symbol\";\n    string public constant DECIMALS = \"decimals\";\n    string public constant INITIAL_SUPPLY = \"initial_supply\";\n    string public constant MINTALBE = \"mintable\";\n    string public constant BURNABLE = \"burnable\";\n    string public constant PAUSABLE = \"pausable\";\n    string public constant UPDATE = \"update\";\n    string public constant UPDATE_CONFIRM = \"update_confirm\";\n\n    function render(string _locale, ERC20Token _token) public view returns (string) {\n        Elements.Element[] memory elements = new Elements.Element[](8);\n        elements[0] = Elements.Element(\n            true,\n            NAME,\n            \"textEdit\",\n            resources[_locale][NAME],\n            _token.name().quoted(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[1] = Elements.Element(\n            true,\n            SYMBOL,\n            \"textEdit\",\n            resources[_locale][SYMBOL],\n            _token.symbol().quoted(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[2] = Elements.Element(\n            true,\n            DECIMALS,\n            \"numberEdit\",\n            resources[_locale][DECIMALS],\n            uint(_token.decimals()).toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[3] = Elements.Element(\n            true,\n            INITIAL_SUPPLY,\n            \"tokenEdit\".toSlice().concat(uint(_token.decimals()).toString().toSlice()),\n            resources[_locale][INITIAL_SUPPLY],\n            _token.initialSupply().toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[4] = Elements.Element(\n            true,\n            MINTALBE,\n            \"switch\",\n            resources[_locale][MINTALBE],\n            _token.mintable().toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[5] = Elements.Element(\n            true,\n            BURNABLE,\n            \"switch\",\n            resources[_locale][BURNABLE],\n            _token.burnable().toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[6] = Elements.Element(\n            true,\n            PAUSABLE,\n            \"switch\",\n            resources[_locale][PAUSABLE],\n            _token.pausable().toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        elements[7] = Elements.Element(\n            true,\n            UPDATE,\n            \"button\",\n            resources[_locale][UPDATE],\n            \"null\",\n            Actions.Action(\n                true,\n                address(_token),\n                \"update(string,string,uint8,uint256,bool,bool,bool)\",\n                '[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]',\n                resources[_locale][UPDATE_CONFIRM]\n            ),\n            Tables.empty()\n        );\n        string memory json = \"[\";\n        for (uint i = 0; i < elements.length; i++) {\n            if (i > 0) {\n                json = json.toSlice().concat(','.toSlice());\n            }\n            json = json.toSlice().concat(elements[i].toJson().toSlice());\n        }\n        return json.toSlice().concat(']'.toSlice());\n    }\n}\n",
  "sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenInputsRenderer.sol",
  "ast": {
    "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenInputsRenderer.sol",
    "exportedSymbols": {
      "ERC20TokenInputsRenderer": [
        769
      ]
    },
    "id": 770,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 402,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:3"
      },
      {
        "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenWidgetRenderer.sol",
        "file": "./ERC20TokenWidgetRenderer.sol",
        "id": 403,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1029,
        "src": "26:40:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
        "file": "tokenboost-solidity/contracts/utils/strings.sol",
        "id": 404,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 3343,
        "src": "67:57:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/UintUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/UintUtils.sol",
        "id": 405,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1648,
        "src": "125:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/BoolUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/BoolUtils.sol",
        "id": 406,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1527,
        "src": "185:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/StringUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/StringUtils.sol",
        "id": 407,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1557,
        "src": "245:61:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
        "file": "tokenboost-solidity/contracts/widget/Elements.sol",
        "id": 408,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 3720,
        "src": "307:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol",
        "id": 409,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 4803,
        "src": "367:67:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 410,
              "name": "ERC20TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1028,
              "src": "473:24:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
                "typeString": "contract ERC20TokenWidgetRenderer"
              }
            },
            "id": 411,
            "nodeType": "InheritanceSpecifier",
            "src": "473:24:3"
          }
        ],
        "contractDependencies": [
          1028,
          3767,
          4601
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 769,
        "linearizedBaseContracts": [
          769,
          1028,
          3767,
          4601
        ],
        "name": "ERC20TokenInputsRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 413,
            "libraryName": {
              "contractScope": null,
              "id": 412,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3342,
              "src": "510:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$3342",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "504:20:3",
            "typeName": null
          },
          {
            "id": 416,
            "libraryName": {
              "contractScope": null,
              "id": 414,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1647,
              "src": "535:9:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$1647",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "529:25:3",
            "typeName": {
              "id": 415,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "549:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 419,
            "libraryName": {
              "contractScope": null,
              "id": 417,
              "name": "BoolUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1526,
              "src": "565:9:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BoolUtils_$1526",
                "typeString": "library BoolUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "559:25:3",
            "typeName": {
              "id": 418,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "579:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            }
          },
          {
            "id": 422,
            "libraryName": {
              "contractScope": null,
              "id": 420,
              "name": "StringUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1556,
              "src": "595:11:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StringUtils_$1556",
                "typeString": "library StringUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "589:29:3",
            "typeName": {
              "id": 421,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "611:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            }
          },
          {
            "id": 425,
            "libraryName": {
              "contractScope": null,
              "id": 423,
              "name": "Elements",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3719,
              "src": "629:8:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Elements_$3719",
                "typeString": "library Elements"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "623:36:3",
            "typeName": {
              "contractScope": null,
              "id": 424,
              "name": "Elements.Element",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3518,
              "src": "642:16:3",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                "typeString": "struct Elements.Element"
              }
            }
          },
          {
            "constant": true,
            "id": 428,
            "name": "NAME",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "665:36:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 426,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "665:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6e616d65",
              "id": 427,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "695:6:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_2361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60",
                "typeString": "literal_string \"name\""
              },
              "value": "name"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 431,
            "name": "SYMBOL",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "707:40:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 429,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "707:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73796d626f6c",
              "id": 430,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "739:8:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_be16b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4",
                "typeString": "literal_string \"symbol\""
              },
              "value": "symbol"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 434,
            "name": "DECIMALS",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "753:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 432,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "753:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "646563696d616c73",
              "id": 433,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "787:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_784c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9",
                "typeString": "literal_string \"decimals\""
              },
              "value": "decimals"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 437,
            "name": "INITIAL_SUPPLY",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "803:56:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 435,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "803:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "696e697469616c5f737570706c79",
              "id": 436,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "843:16:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_ba449ce3e0e5634f40b40e2487d54e9ec91f06e805f3a53d04b5a6456c0b0835",
                "typeString": "literal_string \"initial_supply\""
              },
              "value": "initial_supply"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 440,
            "name": "MINTALBE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "865:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 438,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "865:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e7461626c65",
              "id": 439,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "899:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c6a432477966ec23f9f97fdc509215117a7e4ddd1da67fb82adf2e702fd8c822",
                "typeString": "literal_string \"mintable\""
              },
              "value": "mintable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 443,
            "name": "BURNABLE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "915:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 441,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "915:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6275726e61626c65",
              "id": 442,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "949:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_9bebdfbac7eed5fd0fe2332ba7d79fb8c9f16e5eee3c3693bb4c2c8f13b1dfd4",
                "typeString": "literal_string \"burnable\""
              },
              "value": "burnable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 446,
            "name": "PAUSABLE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "965:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 444,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "965:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "7061757361626c65",
              "id": 445,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "999:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_116b8e5ee32992c53d4b777f969452a2eefe6ed4c1ed01b60e652c076741cdaf",
                "typeString": "literal_string \"pausable\""
              },
              "value": "pausable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 449,
            "name": "UPDATE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "1015:40:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 447,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1015:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "757064617465",
              "id": 448,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1047:8:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_5ef8d21b3c3919d0cb2b4728880495e379f8c1817d7867ff6b1360f2321f9598",
                "typeString": "literal_string \"update\""
              },
              "value": "update"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 452,
            "name": "UPDATE_CONFIRM",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "1061:56:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 450,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1061:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "7570646174655f636f6e6669726d",
              "id": 451,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1101:16:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_393ccb80dc23ac0b3575aa245e34b77b706631c022f63fd616454fbfd294407e",
                "typeString": "literal_string \"update_confirm\""
              },
              "value": "update_confirm"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 767,
              "nodeType": "Block",
              "src": "1204:2764:3",
              "statements": [
                {
                  "assignments": [
                    465
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 465,
                      "name": "elements",
                      "nodeType": "VariableDeclaration",
                      "scope": 768,
                      "src": "1214:34:3",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                        "typeString": "struct Elements.Element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 463,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 3518,
                          "src": "1214:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 464,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "1214:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 471,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "38",
                        "id": 469,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1274:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_8_by_1",
                          "typeString": "int_const 8"
                        },
                        "value": "8"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_8_by_1",
                          "typeString": "int_const 8"
                        }
                      ],
                      "id": 468,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "1251:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$3518_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 466,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 3518,
                          "src": "1255:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 467,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "1255:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      }
                    },
                    "id": 470,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1251:25:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory",
                      "typeString": "struct Elements.Element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1214:62:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 472,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1286:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 474,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 473,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1295:1:3",
                        "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": "1286:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 477,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1330:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 478,
                          "name": "NAME",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 428,
                          "src": "1348:4:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "7465787445646974",
                          "id": 479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1366:10:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          "value": "textEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 480,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1390:9:3",
                              "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": 482,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 481,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1400:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1390:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 484,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 483,
                            "name": "NAME",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 428,
                            "src": "1409:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1390:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 485,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "1428:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 486,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "name",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1366,
                                "src": "1428:11:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                  "typeString": "function () view external returns (string memory)"
                                }
                              },
                              "id": 487,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1428:13:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            },
                            "id": 488,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "quoted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1555,
                            "src": "1428:20:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (string memory)"
                            }
                          },
                          "id": 489,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1428:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 490,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1464:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 491,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1464:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 492,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1464:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 493,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "1493:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 494,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "1493:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 495,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1493:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 475,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1300:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 476,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1300:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1300:217:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1286:231:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 498,
                  "nodeType": "ExpressionStatement",
                  "src": "1286:231:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 524,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 499,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1527:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 501,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1536:1:3",
                        "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": "1527:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 504,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1571:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 505,
                          "name": "SYMBOL",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 431,
                          "src": "1589:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "7465787445646974",
                          "id": 506,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1609:10:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          "value": "textEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 507,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1633:9:3",
                              "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": 509,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 508,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1643:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1633:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 511,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 510,
                            "name": "SYMBOL",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 431,
                            "src": "1652:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1633:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 512,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "1673:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 513,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "symbol",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1368,
                                "src": "1673:13:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                  "typeString": "function () view external returns (string memory)"
                                }
                              },
                              "id": 514,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1673:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            },
                            "id": 515,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "quoted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1555,
                            "src": "1673:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (string memory)"
                            }
                          },
                          "id": 516,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1673:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 517,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1711:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 518,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1711:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1711:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 520,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "1740:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 521,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "1740:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 522,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1740:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 502,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1541:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 503,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1541:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 523,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1541:223:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1527:237:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 525,
                  "nodeType": "ExpressionStatement",
                  "src": "1527:237:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 553,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 526,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1774:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 528,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "32",
                        "id": 527,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1783:1:3",
                        "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": "1774:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 531,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1818:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 532,
                          "name": "DECIMALS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 434,
                          "src": "1836:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "6e756d62657245646974",
                          "id": 533,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1858:12:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_a8ab1f22cbe58d2fae78cc81b6343f2d81664cc2c19f976e04f47f98cfdf749e",
                            "typeString": "literal_string \"numberEdit\""
                          },
                          "value": "numberEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 534,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1884:9:3",
                              "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": 536,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 535,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1894:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1884:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 538,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 537,
                            "name": "DECIMALS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 434,
                            "src": "1903:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1884:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 540,
                                      "name": "_token",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 456,
                                      "src": "1931:6:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_ERC20Token_$324",
                                        "typeString": "contract ERC20Token"
                                      }
                                    },
                                    "id": 541,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "decimals",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 70,
                                    "src": "1931:15:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                      "typeString": "function () view external returns (uint8)"
                                    }
                                  },
                                  "id": 542,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1931:17:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                ],
                                "id": 539,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1926:4:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1926:23:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 544,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1646,
                            "src": "1926:32:3",
                            "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": 545,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1926:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 546,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1974:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 547,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1974:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 548,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1974:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 549,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2003:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 550,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2003:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 551,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2003:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_a8ab1f22cbe58d2fae78cc81b6343f2d81664cc2c19f976e04f47f98cfdf749e",
                            "typeString": "literal_string \"numberEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 529,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1788:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 530,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1788:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 552,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1788:239:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1774:253:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 554,
                  "nodeType": "ExpressionStatement",
                  "src": "1774:253:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 593,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 555,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2037:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 557,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "33",
                        "id": 556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2046:1:3",
                        "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": "2037:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 560,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2081:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 561,
                          "name": "INITIAL_SUPPLY",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 437,
                          "src": "2099:14:3",
                          "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": 567,
                                              "name": "_token",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 456,
                                              "src": "2161:6:3",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_contract$_ERC20Token_$324",
                                                "typeString": "contract ERC20Token"
                                              }
                                            },
                                            "id": 568,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "decimals",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 70,
                                            "src": "2161:15:3",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                              "typeString": "function () view external returns (uint8)"
                                            }
                                          },
                                          "id": 569,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "2161:17:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                          }
                                        ],
                                        "id": 566,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "2156:4:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint256_$",
                                          "typeString": "type(uint256)"
                                        },
                                        "typeName": "uint"
                                      },
                                      "id": 570,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2156:23:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 571,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "toString",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 1646,
                                    "src": "2156:32:3",
                                    "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": 572,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2156:34:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "id": 573,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "toSlice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1714,
                                "src": "2156:42:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                  "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                }
                              },
                              "id": 574,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2156:44:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "hexValue": "746f6b656e45646974",
                                  "id": 562,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2127:11:3",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_99de3d4fb3ed3400bcd89eb9e537fe6b559627add648abf4e34c8e6921ff6615",
                                    "typeString": "literal_string \"tokenEdit\""
                                  },
                                  "value": "tokenEdit"
                                },
                                "id": 563,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "toSlice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1714,
                                "src": "2127:19:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                  "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                }
                              },
                              "id": 564,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2127:21:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            },
                            "id": 565,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "concat",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3227,
                            "src": "2127:28:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                              "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                            }
                          },
                          "id": 575,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2127:74:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 576,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2215:9:3",
                              "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": 578,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 577,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2225:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2215:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 580,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 579,
                            "name": "INITIAL_SUPPLY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 437,
                            "src": "2234:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2215:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 581,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2263:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 582,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "initialSupply",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 72,
                                "src": "2263:20:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                  "typeString": "function () view external returns (uint256)"
                                }
                              },
                              "id": 583,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2263:22:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 584,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1646,
                            "src": "2263:31:3",
                            "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": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2263:33:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 586,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2310:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 587,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2310:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 588,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2310:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 589,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2339:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 590,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2339:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 591,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2339:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_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_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 558,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2051:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 559,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2051:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2051:312:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2037:326:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 594,
                  "nodeType": "ExpressionStatement",
                  "src": "2037:326:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 620,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 595,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2373:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 597,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "34",
                        "id": 596,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2382:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        "value": "4"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2373:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 600,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2417:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 601,
                          "name": "MINTALBE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 440,
                          "src": "2435:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 602,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2457:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 603,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2479:9:3",
                              "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": 605,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 604,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2489:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2479:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 607,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 606,
                            "name": "MINTALBE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 440,
                            "src": "2498:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2479:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 608,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2521:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 609,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "mintable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 74,
                                "src": "2521:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 610,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2521:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 611,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "2521:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2521:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 613,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2563:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 614,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2563:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 615,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2563:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 616,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2592:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 617,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2592:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 618,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 598,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2387:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 599,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2387:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 619,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2387:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2373:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 621,
                  "nodeType": "ExpressionStatement",
                  "src": "2373:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 647,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 622,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2626:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 624,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "35",
                        "id": 623,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2635:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_5_by_1",
                          "typeString": "int_const 5"
                        },
                        "value": "5"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2626:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 627,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2670:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 628,
                          "name": "BURNABLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 443,
                          "src": "2688:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 629,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2710:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 630,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2732:9:3",
                              "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": 632,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 631,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2742:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2732:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 634,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 633,
                            "name": "BURNABLE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 443,
                            "src": "2751:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2732:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 635,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2774:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 636,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "burnable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 78,
                                "src": "2774:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 637,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2774:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 638,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "2774:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 639,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2774:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 640,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2816:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 641,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2816:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2816:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 643,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2845:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 644,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2845:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 645,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2845:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 625,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2640:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 626,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2640:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 646,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2640:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2626:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 648,
                  "nodeType": "ExpressionStatement",
                  "src": "2626:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 649,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2879:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 651,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "36",
                        "id": 650,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2888:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_6_by_1",
                          "typeString": "int_const 6"
                        },
                        "value": "6"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2879:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 654,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2923:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 655,
                          "name": "PAUSABLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 446,
                          "src": "2941:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 656,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2963:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 657,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2985:9:3",
                              "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": 659,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 658,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2995:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2985:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 661,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 660,
                            "name": "PAUSABLE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 446,
                            "src": "3004:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2985:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 662,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "3027:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 663,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "pausable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 80,
                                "src": "3027:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 664,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3027:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 665,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "3027:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 666,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3027:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 667,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "3069:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "3069:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 669,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3069:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 670,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "3098:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 671,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "3098:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 672,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3098:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 652,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2893:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2893:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2893:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2879:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 675,
                  "nodeType": "ExpressionStatement",
                  "src": "2879:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 708,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 676,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "3132:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 678,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "37",
                        "id": 677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3141:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_7_by_1",
                          "typeString": "int_const 7"
                        },
                        "value": "7"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3132:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3176:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 682,
                          "name": "UPDATE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 449,
                          "src": "3194:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "627574746f6e",
                          "id": 683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3214:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                            "typeString": "literal_string \"button\""
                          },
                          "value": "button"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 684,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "3236:9:3",
                              "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": 686,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 685,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "3246:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3236:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 688,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 687,
                            "name": "UPDATE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 449,
                            "src": "3255:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "3236:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "6e756c6c",
                          "id": 689,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3276:6:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                            "typeString": "literal_string \"null\""
                          },
                          "value": "null"
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 692,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3328:4:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 694,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "3358:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                ],
                                "id": 693,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "3350:7:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": "address"
                              },
                              "id": 695,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3350:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "75706461746528737472696e672c737472696e672c75696e74382c75696e743235362c626f6f6c2c626f6f6c2c626f6f6c29",
                              "id": 696,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3383:52:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f2226de6ce25a5bfe77c7ba5d263435f97c7093a961a607ba3c19d1f18fd4b1f",
                                "typeString": "literal_string \"update(string,string,uint8,uint256,bool,bool,bool)\""
                              },
                              "value": "update(string,string,uint8,uint256,bool,bool,bool)"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "5b226e616d65222c2273796d626f6c222c22646563696d616c73222c22696e697469616c5f737570706c79222c226d696e7461626c65222c226275726e61626c65222c227061757361626c65225d",
                              "id": 697,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3453:80:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_5d08bb3031a7ca89ea3487b3ecf702c3b09798ae0a433b261785bb96c46fcb30",
                                "typeString": "literal_string \"[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]\""
                              },
                              "value": "[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]"
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 698,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3730,
                                  "src": "3551:9:3",
                                  "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": 700,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 699,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 454,
                                  "src": "3561:7:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3551:18:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 702,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 701,
                                "name": "UPDATE_CONFIRM",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 452,
                                "src": "3570:14:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3551:34:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f2226de6ce25a5bfe77c7ba5d263435f97c7093a961a607ba3c19d1f18fd4b1f",
                                "typeString": "literal_string \"update(string,string,uint8,uint256,bool,bool,bool)\""
                              },
                              {
                                "typeIdentifier": "t_stringliteral_5d08bb3031a7ca89ea3487b3ecf702c3b09798ae0a433b261785bb96c46fcb30",
                                "typeString": "literal_string \"[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]\""
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 690,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "3296:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 691,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "Action",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3362,
                            "src": "3296:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Action_$3362_storage_ptr_$",
                              "typeString": "type(struct Actions.Action storage pointer)"
                            }
                          },
                          "id": 703,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3296:303:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 704,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "3613:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 705,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "3613:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 706,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3613:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_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_$3362_memory",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 679,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "3146:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 680,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "3146:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 707,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3146:491:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "3132:505:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 709,
                  "nodeType": "ExpressionStatement",
                  "src": "3132:505:3"
                },
                {
                  "assignments": [
                    711
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 711,
                      "name": "json",
                      "nodeType": "VariableDeclaration",
                      "scope": 768,
                      "src": "3647:18:3",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 710,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3647:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 713,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "5b",
                    "id": 712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3668:3:3",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_9f50164828976b6baa479ea39c718c745bbc0d2521b67dfde8474cbdc9711057",
                      "typeString": "literal_string \"[\""
                    },
                    "value": "["
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3647:24:3"
                },
                {
                  "body": {
                    "id": 756,
                    "nodeType": "Block",
                    "src": "3724:185:3",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 727,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 725,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 715,
                            "src": "3742:1:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 726,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3746:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3742:5:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 740,
                        "nodeType": "IfStatement",
                        "src": "3738:87:3",
                        "trueBody": {
                          "id": 739,
                          "nodeType": "Block",
                          "src": "3749:76:3",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 737,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 728,
                                  "name": "json",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 711,
                                  "src": "3767:4:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "hexValue": "2c",
                                          "id": 733,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "3796:3:3",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb",
                                            "typeString": "literal_string \",\""
                                          },
                                          "value": ","
                                        },
                                        "id": 734,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 1714,
                                        "src": "3796:11:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 735,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3796:13:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 729,
                                          "name": "json",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 711,
                                          "src": "3774:4:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 730,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 1714,
                                        "src": "3774:12:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 731,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3774:14:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    },
                                    "id": 732,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "concat",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 3227,
                                    "src": "3774:21:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                                      "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                    }
                                  },
                                  "id": 736,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3774:36:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "3767:43:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 738,
                              "nodeType": "ExpressionStatement",
                              "src": "3767:43:3"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 754,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 741,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 711,
                            "src": "3838:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 746,
                                          "name": "elements",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 465,
                                          "src": "3867:8:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                                            "typeString": "struct Elements.Element memory[] memory"
                                          }
                                        },
                                        "id": 748,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 747,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 715,
                                          "src": "3876:1:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "3867:11:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Element_$3518_memory",
                                          "typeString": "struct Elements.Element memory"
                                        }
                                      },
                                      "id": 749,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toJson",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3718,
                                      "src": "3867:18:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Element_$3518_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Element_$3518_memory_ptr_$",
                                        "typeString": "function (struct Elements.Element memory) pure returns (string memory)"
                                      }
                                    },
                                    "id": 750,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3867:20:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "id": 751,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "toSlice",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1714,
                                  "src": "3867:28:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                    "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                  }
                                },
                                "id": 752,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3867:30:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 742,
                                    "name": "json",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 711,
                                    "src": "3845:4:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "id": 743,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "toSlice",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1714,
                                  "src": "3845:12:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                    "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                  }
                                },
                                "id": 744,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3845:14:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              },
                              "id": 745,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "concat",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 3227,
                              "src": "3845:21:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                                "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                              }
                            },
                            "id": 753,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3845:53:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3838:60:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 755,
                        "nodeType": "ExpressionStatement",
                        "src": "3838:60:3"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 721,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 718,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 715,
                      "src": "3698:1:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 719,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "3702:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3702:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3698:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 757,
                  "initializationExpression": {
                    "assignments": [
                      715
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 715,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 768,
                        "src": "3686:6:3",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 714,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3686:4:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 717,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 716,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3695:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3686:10:3"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 723,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3719:3:3",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 722,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 715,
                        "src": "3719:1:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 724,
                    "nodeType": "ExpressionStatement",
                    "src": "3719:3:3"
                  },
                  "nodeType": "ForStatement",
                  "src": "3681:228:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "5d",
                            "id": 762,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3947:3:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          },
                          "id": 763,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1714,
                          "src": "3947:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 764,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3947:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 758,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 711,
                            "src": "3925:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "id": 759,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1714,
                          "src": "3925:12:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 760,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3925:14:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      },
                      "id": 761,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "concat",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3227,
                      "src": "3925:21:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                        "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                      }
                    },
                    "id": 765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3925:36:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 460,
                  "id": 766,
                  "nodeType": "Return",
                  "src": "3918:43:3"
                }
              ]
            },
            "documentation": null,
            "id": 768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 454,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1140:14:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 453,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1140:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 456,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1156:17:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                    "typeString": "contract ERC20Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 455,
                    "name": "ERC20Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 324,
                    "src": "1156:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20Token_$324",
                      "typeString": "contract ERC20Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1139:35:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 460,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 459,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1196:6:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 458,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1196:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1195:8:3"
            },
            "scope": 769,
            "src": "1124:2844:3",
            "stateMutability": "view",
            "superFunction": 1027,
            "visibility": "public"
          }
        ],
        "scope": 770,
        "src": "436:3534:3"
      }
    ],
    "src": "0:3971:3"
  },
  "legacyAST": {
    "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenInputsRenderer.sol",
    "exportedSymbols": {
      "ERC20TokenInputsRenderer": [
        769
      ]
    },
    "id": 770,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 402,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:3"
      },
      {
        "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenWidgetRenderer.sol",
        "file": "./ERC20TokenWidgetRenderer.sol",
        "id": 403,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1029,
        "src": "26:40:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
        "file": "tokenboost-solidity/contracts/utils/strings.sol",
        "id": 404,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 3343,
        "src": "67:57:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/UintUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/UintUtils.sol",
        "id": 405,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1648,
        "src": "125:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/BoolUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/BoolUtils.sol",
        "id": 406,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1527,
        "src": "185:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/utils/StringUtils.sol",
        "file": "tokenboost-solidity/contracts/utils/StringUtils.sol",
        "id": 407,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 1557,
        "src": "245:61:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
        "file": "tokenboost-solidity/contracts/widget/Elements.sol",
        "id": 408,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 3720,
        "src": "307:59:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol",
        "id": 409,
        "nodeType": "ImportDirective",
        "scope": 770,
        "sourceUnit": 4803,
        "src": "367:67:3",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 410,
              "name": "ERC20TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1028,
              "src": "473:24:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
                "typeString": "contract ERC20TokenWidgetRenderer"
              }
            },
            "id": 411,
            "nodeType": "InheritanceSpecifier",
            "src": "473:24:3"
          }
        ],
        "contractDependencies": [
          1028,
          3767,
          4601
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 769,
        "linearizedBaseContracts": [
          769,
          1028,
          3767,
          4601
        ],
        "name": "ERC20TokenInputsRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 413,
            "libraryName": {
              "contractScope": null,
              "id": 412,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3342,
              "src": "510:7:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$3342",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "504:20:3",
            "typeName": null
          },
          {
            "id": 416,
            "libraryName": {
              "contractScope": null,
              "id": 414,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1647,
              "src": "535:9:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$1647",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "529:25:3",
            "typeName": {
              "id": 415,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "549:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 419,
            "libraryName": {
              "contractScope": null,
              "id": 417,
              "name": "BoolUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1526,
              "src": "565:9:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BoolUtils_$1526",
                "typeString": "library BoolUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "559:25:3",
            "typeName": {
              "id": 418,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "579:4:3",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            }
          },
          {
            "id": 422,
            "libraryName": {
              "contractScope": null,
              "id": 420,
              "name": "StringUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1556,
              "src": "595:11:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StringUtils_$1556",
                "typeString": "library StringUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "589:29:3",
            "typeName": {
              "id": 421,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "611:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            }
          },
          {
            "id": 425,
            "libraryName": {
              "contractScope": null,
              "id": 423,
              "name": "Elements",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3719,
              "src": "629:8:3",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Elements_$3719",
                "typeString": "library Elements"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "623:36:3",
            "typeName": {
              "contractScope": null,
              "id": 424,
              "name": "Elements.Element",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3518,
              "src": "642:16:3",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                "typeString": "struct Elements.Element"
              }
            }
          },
          {
            "constant": true,
            "id": 428,
            "name": "NAME",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "665:36:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 426,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "665:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6e616d65",
              "id": 427,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "695:6:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_2361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60",
                "typeString": "literal_string \"name\""
              },
              "value": "name"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 431,
            "name": "SYMBOL",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "707:40:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 429,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "707:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73796d626f6c",
              "id": 430,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "739:8:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_be16b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4",
                "typeString": "literal_string \"symbol\""
              },
              "value": "symbol"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 434,
            "name": "DECIMALS",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "753:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 432,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "753:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "646563696d616c73",
              "id": 433,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "787:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_784c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9",
                "typeString": "literal_string \"decimals\""
              },
              "value": "decimals"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 437,
            "name": "INITIAL_SUPPLY",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "803:56:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 435,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "803:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "696e697469616c5f737570706c79",
              "id": 436,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "843:16:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_ba449ce3e0e5634f40b40e2487d54e9ec91f06e805f3a53d04b5a6456c0b0835",
                "typeString": "literal_string \"initial_supply\""
              },
              "value": "initial_supply"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 440,
            "name": "MINTALBE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "865:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 438,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "865:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d696e7461626c65",
              "id": 439,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "899:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c6a432477966ec23f9f97fdc509215117a7e4ddd1da67fb82adf2e702fd8c822",
                "typeString": "literal_string \"mintable\""
              },
              "value": "mintable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 443,
            "name": "BURNABLE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "915:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 441,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "915:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6275726e61626c65",
              "id": 442,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "949:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_9bebdfbac7eed5fd0fe2332ba7d79fb8c9f16e5eee3c3693bb4c2c8f13b1dfd4",
                "typeString": "literal_string \"burnable\""
              },
              "value": "burnable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 446,
            "name": "PAUSABLE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "965:44:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 444,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "965:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "7061757361626c65",
              "id": 445,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "999:10:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_116b8e5ee32992c53d4b777f969452a2eefe6ed4c1ed01b60e652c076741cdaf",
                "typeString": "literal_string \"pausable\""
              },
              "value": "pausable"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 449,
            "name": "UPDATE",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "1015:40:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 447,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1015:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "757064617465",
              "id": 448,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1047:8:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_5ef8d21b3c3919d0cb2b4728880495e379f8c1817d7867ff6b1360f2321f9598",
                "typeString": "literal_string \"update\""
              },
              "value": "update"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 452,
            "name": "UPDATE_CONFIRM",
            "nodeType": "VariableDeclaration",
            "scope": 769,
            "src": "1061:56:3",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 450,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1061:6:3",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "7570646174655f636f6e6669726d",
              "id": 451,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1101:16:3",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_393ccb80dc23ac0b3575aa245e34b77b706631c022f63fd616454fbfd294407e",
                "typeString": "literal_string \"update_confirm\""
              },
              "value": "update_confirm"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 767,
              "nodeType": "Block",
              "src": "1204:2764:3",
              "statements": [
                {
                  "assignments": [
                    465
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 465,
                      "name": "elements",
                      "nodeType": "VariableDeclaration",
                      "scope": 768,
                      "src": "1214:34:3",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                        "typeString": "struct Elements.Element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 463,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 3518,
                          "src": "1214:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 464,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "1214:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 471,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "38",
                        "id": 469,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1274:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_8_by_1",
                          "typeString": "int_const 8"
                        },
                        "value": "8"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_8_by_1",
                          "typeString": "int_const 8"
                        }
                      ],
                      "id": 468,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "1251:22:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$3518_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 466,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 3518,
                          "src": "1255:16:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$3518_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 467,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "1255:18:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      }
                    },
                    "id": 470,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1251:25:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory",
                      "typeString": "struct Elements.Element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1214:62:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 472,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1286:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 474,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 473,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1295:1:3",
                        "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": "1286:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 477,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1330:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 478,
                          "name": "NAME",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 428,
                          "src": "1348:4:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "7465787445646974",
                          "id": 479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1366:10:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          "value": "textEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 480,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1390:9:3",
                              "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": 482,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 481,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1400:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1390:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 484,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 483,
                            "name": "NAME",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 428,
                            "src": "1409:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1390:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 485,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "1428:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 486,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "name",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1366,
                                "src": "1428:11:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                  "typeString": "function () view external returns (string memory)"
                                }
                              },
                              "id": 487,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1428:13:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            },
                            "id": 488,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "quoted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1555,
                            "src": "1428:20:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (string memory)"
                            }
                          },
                          "id": 489,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1428:22:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 490,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1464:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 491,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1464:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 492,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1464:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 493,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "1493:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 494,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "1493:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 495,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1493:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 475,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1300:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 476,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1300:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1300:217:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1286:231:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 498,
                  "nodeType": "ExpressionStatement",
                  "src": "1286:231:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 524,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 499,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1527:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 501,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1536:1:3",
                        "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": "1527:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 504,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1571:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 505,
                          "name": "SYMBOL",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 431,
                          "src": "1589:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "7465787445646974",
                          "id": 506,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1609:10:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          "value": "textEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 507,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1633:9:3",
                              "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": 509,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 508,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1643:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1633:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 511,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 510,
                            "name": "SYMBOL",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 431,
                            "src": "1652:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1633:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 512,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "1673:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 513,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "symbol",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1368,
                                "src": "1673:13:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                  "typeString": "function () view external returns (string memory)"
                                }
                              },
                              "id": 514,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1673:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            },
                            "id": 515,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "quoted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1555,
                            "src": "1673:22:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (string memory)"
                            }
                          },
                          "id": 516,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1673:24:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 517,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1711:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 518,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1711:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1711:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 520,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "1740:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 521,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "1740:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 522,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1740:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_963dc6a95a4e7696efe631e725091702ed9b3841ec84deb82b0371983869e6af",
                            "typeString": "literal_string \"textEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 502,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1541:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 503,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1541:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 523,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1541:223:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1527:237:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 525,
                  "nodeType": "ExpressionStatement",
                  "src": "1527:237:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 553,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 526,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "1774:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 528,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "32",
                        "id": 527,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1783:1:3",
                        "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": "1774:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 531,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1818:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 532,
                          "name": "DECIMALS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 434,
                          "src": "1836:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "6e756d62657245646974",
                          "id": 533,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1858:12:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_a8ab1f22cbe58d2fae78cc81b6343f2d81664cc2c19f976e04f47f98cfdf749e",
                            "typeString": "literal_string \"numberEdit\""
                          },
                          "value": "numberEdit"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 534,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "1884:9:3",
                              "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": 536,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 535,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "1894:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1884:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 538,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 537,
                            "name": "DECIMALS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 434,
                            "src": "1903:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1884:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 540,
                                      "name": "_token",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 456,
                                      "src": "1931:6:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_ERC20Token_$324",
                                        "typeString": "contract ERC20Token"
                                      }
                                    },
                                    "id": 541,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "decimals",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 70,
                                    "src": "1931:15:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                      "typeString": "function () view external returns (uint8)"
                                    }
                                  },
                                  "id": 542,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1931:17:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                ],
                                "id": 539,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1926:4:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 543,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1926:23:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 544,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1646,
                            "src": "1926:32:3",
                            "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": 545,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1926:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 546,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "1974:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 547,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "1974:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 548,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1974:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 549,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2003:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 550,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2003:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 551,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2003:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_a8ab1f22cbe58d2fae78cc81b6343f2d81664cc2c19f976e04f47f98cfdf749e",
                            "typeString": "literal_string \"numberEdit\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 529,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "1788:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 530,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "1788:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 552,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1788:239:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "1774:253:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 554,
                  "nodeType": "ExpressionStatement",
                  "src": "1774:253:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 593,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 555,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2037:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 557,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "33",
                        "id": 556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2046:1:3",
                        "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": "2037:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 560,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2081:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 561,
                          "name": "INITIAL_SUPPLY",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 437,
                          "src": "2099:14:3",
                          "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": 567,
                                              "name": "_token",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 456,
                                              "src": "2161:6:3",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_contract$_ERC20Token_$324",
                                                "typeString": "contract ERC20Token"
                                              }
                                            },
                                            "id": 568,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "decimals",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 70,
                                            "src": "2161:15:3",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                              "typeString": "function () view external returns (uint8)"
                                            }
                                          },
                                          "id": 569,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "2161:17:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                          }
                                        ],
                                        "id": 566,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "2156:4:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint256_$",
                                          "typeString": "type(uint256)"
                                        },
                                        "typeName": "uint"
                                      },
                                      "id": 570,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2156:23:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 571,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "toString",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 1646,
                                    "src": "2156:32:3",
                                    "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": 572,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2156:34:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "id": 573,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "toSlice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1714,
                                "src": "2156:42:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                  "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                }
                              },
                              "id": 574,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2156:44:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "hexValue": "746f6b656e45646974",
                                  "id": 562,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2127:11:3",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_99de3d4fb3ed3400bcd89eb9e537fe6b559627add648abf4e34c8e6921ff6615",
                                    "typeString": "literal_string \"tokenEdit\""
                                  },
                                  "value": "tokenEdit"
                                },
                                "id": 563,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "toSlice",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 1714,
                                "src": "2127:19:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                  "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                }
                              },
                              "id": 564,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2127:21:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                "typeString": "struct strings.slice memory"
                              }
                            },
                            "id": 565,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "concat",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3227,
                            "src": "2127:28:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                              "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                            }
                          },
                          "id": 575,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2127:74:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 576,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2215:9:3",
                              "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": 578,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 577,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2225:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2215:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 580,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 579,
                            "name": "INITIAL_SUPPLY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 437,
                            "src": "2234:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2215:34:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 581,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2263:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 582,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "initialSupply",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 72,
                                "src": "2263:20:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                  "typeString": "function () view external returns (uint256)"
                                }
                              },
                              "id": 583,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2263:22:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 584,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1646,
                            "src": "2263:31:3",
                            "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": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2263:33:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 586,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2310:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 587,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2310:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 588,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2310:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 589,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2339:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 590,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2339:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 591,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2339:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_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_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 558,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2051:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 559,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2051:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2051:312:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2037:326:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 594,
                  "nodeType": "ExpressionStatement",
                  "src": "2037:326:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 620,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 595,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2373:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 597,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "34",
                        "id": 596,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2382:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        "value": "4"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2373:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 600,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2417:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 601,
                          "name": "MINTALBE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 440,
                          "src": "2435:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 602,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2457:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 603,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2479:9:3",
                              "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": 605,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 604,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2489:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2479:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 607,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 606,
                            "name": "MINTALBE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 440,
                            "src": "2498:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2479:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 608,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2521:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 609,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "mintable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 74,
                                "src": "2521:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 610,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2521:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 611,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "2521:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2521:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 613,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2563:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 614,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2563:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 615,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2563:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 616,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2592:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 617,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2592:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 618,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 598,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2387:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 599,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2387:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 619,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2387:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2373:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 621,
                  "nodeType": "ExpressionStatement",
                  "src": "2373:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 647,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 622,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2626:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 624,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "35",
                        "id": 623,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2635:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_5_by_1",
                          "typeString": "int_const 5"
                        },
                        "value": "5"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2626:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 627,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2670:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 628,
                          "name": "BURNABLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 443,
                          "src": "2688:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 629,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2710:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 630,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2732:9:3",
                              "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": 632,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 631,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2742:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2732:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 634,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 633,
                            "name": "BURNABLE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 443,
                            "src": "2751:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2732:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 635,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "2774:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 636,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "burnable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 78,
                                "src": "2774:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 637,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2774:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 638,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "2774:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 639,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2774:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 640,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "2816:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 641,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "2816:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2816:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 643,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "2845:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 644,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "2845:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 645,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2845:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 625,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2640:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 626,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2640:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 646,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2640:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2626:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 648,
                  "nodeType": "ExpressionStatement",
                  "src": "2626:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 649,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "2879:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 651,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "36",
                        "id": 650,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2888:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_6_by_1",
                          "typeString": "int_const 6"
                        },
                        "value": "6"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2879:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 654,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2923:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 655,
                          "name": "PAUSABLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 446,
                          "src": "2941:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "737769746368",
                          "id": 656,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2963:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          "value": "switch"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 657,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "2985:9:3",
                              "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": 659,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 658,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "2995:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2985:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 661,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 660,
                            "name": "PAUSABLE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 446,
                            "src": "3004:8:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2985:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 662,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "3027:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                },
                                "id": 663,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "pausable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 80,
                                "src": "3027:15:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 664,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3027:17:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 665,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1525,
                            "src": "3027:26:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$_t_string_memory_ptr_$bound_to$_t_bool_$",
                              "typeString": "function (bool) pure returns (string memory)"
                            }
                          },
                          "id": 666,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3027:28:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 667,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "3069:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3378,
                            "src": "3069:13:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3362_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 669,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3069:15:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 670,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "3098:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 671,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "3098:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 672,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3098:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_7dc282e7fd0145050ec8edbd606a93e7762e13d930d2d6bc9d53af87ae53cb8e",
                            "typeString": "literal_string \"switch\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$3362_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 652,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "2893:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "2893:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2893:229:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "2879:243:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 675,
                  "nodeType": "ExpressionStatement",
                  "src": "2879:243:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 708,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 676,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "3132:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 678,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "37",
                        "id": 677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3141:1:3",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_7_by_1",
                          "typeString": "int_const 7"
                        },
                        "value": "7"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3132:11:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3176:4:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 682,
                          "name": "UPDATE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 449,
                          "src": "3194:6:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "627574746f6e",
                          "id": 683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3214:8:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_a81da2f95bacdc95271ab6d8ca852be6742f3b8901ebe5d98b694fb7e4de4090",
                            "typeString": "literal_string \"button\""
                          },
                          "value": "button"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 684,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3730,
                              "src": "3236:9:3",
                              "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": 686,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 685,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 454,
                              "src": "3246:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3236:18:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 688,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 687,
                            "name": "UPDATE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 449,
                            "src": "3255:6:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "3236:26:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "6e756c6c",
                          "id": 689,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3276:6:3",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
                            "typeString": "literal_string \"null\""
                          },
                          "value": "null"
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 692,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3328:4:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 694,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 456,
                                  "src": "3358:6:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                                    "typeString": "contract ERC20Token"
                                  }
                                ],
                                "id": 693,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "3350:7:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": "address"
                              },
                              "id": 695,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3350:15:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "75706461746528737472696e672c737472696e672c75696e74382c75696e743235362c626f6f6c2c626f6f6c2c626f6f6c29",
                              "id": 696,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3383:52:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f2226de6ce25a5bfe77c7ba5d263435f97c7093a961a607ba3c19d1f18fd4b1f",
                                "typeString": "literal_string \"update(string,string,uint8,uint256,bool,bool,bool)\""
                              },
                              "value": "update(string,string,uint8,uint256,bool,bool,bool)"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "5b226e616d65222c2273796d626f6c222c22646563696d616c73222c22696e697469616c5f737570706c79222c226d696e7461626c65222c226275726e61626c65222c227061757361626c65225d",
                              "id": 697,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3453:80:3",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_5d08bb3031a7ca89ea3487b3ecf702c3b09798ae0a433b261785bb96c46fcb30",
                                "typeString": "literal_string \"[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]\""
                              },
                              "value": "[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]"
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 698,
                                  "name": "resources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3730,
                                  "src": "3551:9:3",
                                  "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": 700,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 699,
                                  "name": "_locale",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 454,
                                  "src": "3561:7:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3551:18:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                                  "typeString": "mapping(string memory => string storage ref)"
                                }
                              },
                              "id": 702,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 701,
                                "name": "UPDATE_CONFIRM",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 452,
                                "src": "3570:14:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3551:34:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f2226de6ce25a5bfe77c7ba5d263435f97c7093a961a607ba3c19d1f18fd4b1f",
                                "typeString": "literal_string \"update(string,string,uint8,uint256,bool,bool,bool)\""
                              },
                              {
                                "typeIdentifier": "t_stringliteral_5d08bb3031a7ca89ea3487b3ecf702c3b09798ae0a433b261785bb96c46fcb30",
                                "typeString": "literal_string \"[\"name\",\"symbol\",\"decimals\",\"initial_supply\",\"mintable\",\"burnable\",\"pausable\"]\""
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 690,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3490,
                              "src": "3296:7:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$3490_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 691,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "Action",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3362,
                            "src": "3296:14:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Action_$3362_storage_ptr_$",
                              "typeString": "type(struct Actions.Action storage pointer)"
                            }
                          },
                          "id": 703,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3296:303:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$3362_memory",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 704,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4123,
                              "src": "3613:6:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$4123_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 705,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3839,
                            "src": "3613:12:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3819_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 706,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3613:14:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$3819_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_$3362_memory",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$3819_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 679,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "3146:8:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$3719_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 680,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3518,
                        "src": "3146:16:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$3518_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 707,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3146:491:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$3518_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "3132:505:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$3518_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 709,
                  "nodeType": "ExpressionStatement",
                  "src": "3132:505:3"
                },
                {
                  "assignments": [
                    711
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 711,
                      "name": "json",
                      "nodeType": "VariableDeclaration",
                      "scope": 768,
                      "src": "3647:18:3",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 710,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3647:6:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 713,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "5b",
                    "id": 712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3668:3:3",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_9f50164828976b6baa479ea39c718c745bbc0d2521b67dfde8474cbdc9711057",
                      "typeString": "literal_string \"[\""
                    },
                    "value": "["
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3647:24:3"
                },
                {
                  "body": {
                    "id": 756,
                    "nodeType": "Block",
                    "src": "3724:185:3",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 727,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 725,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 715,
                            "src": "3742:1:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 726,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3746:1:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3742:5:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 740,
                        "nodeType": "IfStatement",
                        "src": "3738:87:3",
                        "trueBody": {
                          "id": 739,
                          "nodeType": "Block",
                          "src": "3749:76:3",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 737,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 728,
                                  "name": "json",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 711,
                                  "src": "3767:4:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "hexValue": "2c",
                                          "id": 733,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "3796:3:3",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb",
                                            "typeString": "literal_string \",\""
                                          },
                                          "value": ","
                                        },
                                        "id": 734,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 1714,
                                        "src": "3796:11:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 735,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3796:13:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 729,
                                          "name": "json",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 711,
                                          "src": "3774:4:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 730,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 1714,
                                        "src": "3774:12:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 731,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3774:14:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    },
                                    "id": 732,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "concat",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 3227,
                                    "src": "3774:21:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                                      "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                    }
                                  },
                                  "id": 736,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3774:36:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "3767:43:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 738,
                              "nodeType": "ExpressionStatement",
                              "src": "3767:43:3"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 754,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 741,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 711,
                            "src": "3838:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 746,
                                          "name": "elements",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 465,
                                          "src": "3867:8:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                                            "typeString": "struct Elements.Element memory[] memory"
                                          }
                                        },
                                        "id": 748,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 747,
                                          "name": "i",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 715,
                                          "src": "3876:1:3",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "3867:11:3",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Element_$3518_memory",
                                          "typeString": "struct Elements.Element memory"
                                        }
                                      },
                                      "id": 749,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "toJson",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 3718,
                                      "src": "3867:18:3",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Element_$3518_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Element_$3518_memory_ptr_$",
                                        "typeString": "function (struct Elements.Element memory) pure returns (string memory)"
                                      }
                                    },
                                    "id": 750,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3867:20:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "id": 751,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "toSlice",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1714,
                                  "src": "3867:28:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                    "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                  }
                                },
                                "id": 752,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3867:30:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 742,
                                    "name": "json",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 711,
                                    "src": "3845:4:3",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "id": 743,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "toSlice",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1714,
                                  "src": "3845:12:3",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                    "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                  }
                                },
                                "id": 744,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3845:14:3",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                                  "typeString": "struct strings.slice memory"
                                }
                              },
                              "id": 745,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "concat",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 3227,
                              "src": "3845:21:3",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                                "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                              }
                            },
                            "id": 753,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3845:53:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3838:60:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 755,
                        "nodeType": "ExpressionStatement",
                        "src": "3838:60:3"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 721,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 718,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 715,
                      "src": "3698:1:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 719,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 465,
                        "src": "3702:8:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$3518_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 720,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3702:15:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3698:19:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 757,
                  "initializationExpression": {
                    "assignments": [
                      715
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 715,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 768,
                        "src": "3686:6:3",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 714,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3686:4:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 717,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 716,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3695:1:3",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3686:10:3"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 723,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3719:3:3",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 722,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 715,
                        "src": "3719:1:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 724,
                    "nodeType": "ExpressionStatement",
                    "src": "3719:3:3"
                  },
                  "nodeType": "ForStatement",
                  "src": "3681:228:3"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "5d",
                            "id": 762,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3947:3:3",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          },
                          "id": 763,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1714,
                          "src": "3947:11:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 764,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3947:13:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 758,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 711,
                            "src": "3925:4:3",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "id": 759,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1714,
                          "src": "3925:12:3",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1654_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 760,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3925:14:3",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$1654_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      },
                      "id": 761,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "concat",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3227,
                      "src": "3925:21:3",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1654_memory_ptr_$_t_struct$_slice_$1654_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1654_memory_ptr_$",
                        "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                      }
                    },
                    "id": 765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3925:36:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 460,
                  "id": 766,
                  "nodeType": "Return",
                  "src": "3918:43:3"
                }
              ]
            },
            "documentation": null,
            "id": 768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 454,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1140:14:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 453,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1140:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 456,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1156:17:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC20Token_$324",
                    "typeString": "contract ERC20Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 455,
                    "name": "ERC20Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 324,
                    "src": "1156:10:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20Token_$324",
                      "typeString": "contract ERC20Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1139:35:3"
            },
            "payable": false,
            "returnParameters": {
              "id": 460,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 459,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 768,
                  "src": "1196:6:3",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 458,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1196:6:3",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1195:8:3"
            },
            "scope": 769,
            "src": "1124:2844:3",
            "stateMutability": "view",
            "superFunction": 1027,
            "visibility": "public"
          }
        ],
        "scope": 770,
        "src": "436:3534:3"
      }
    ],
    "src": "0:3971:3"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {},
      "links": {},
      "address": "0xd458d95d80c545c70f7600976194445a49fa8cff",
      "transactionHash": "0xc0cb9671a9fbd7173de90c464139c1aa95ae53d4f4c2b07684c32a34b2a9c9f4"
    },
    "3": {
      "events": {},
      "links": {},
      "address": "0x1efb96e6e2c134a585db3f4762ab24e52d6dc662",
      "transactionHash": "0x7648550e3e15454fe13a320e792df0a54d59524d99fc98dd4a52d4213e71157d"
    }
  },
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-16T06:29:43.934Z"
}