{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "internalType": "contract Association",
          "name": "association",
          "type": "address"
        },
        {
          "internalType": "contract ERC20",
          "name": "tokenToPurchaseIn",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "price",
          "type": "uint64"
        },
        {
          "internalType": "string",
          "name": "tokenURI",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "association",
          "type": "address"
        }
      ],
      "name": "SetAssociation",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint64",
          "name": "price",
          "type": "uint64"
        }
      ],
      "name": "SetPrice",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "SetTokenToPurchaseIn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "tokenURI",
          "type": "string"
        }
      ],
      "name": "SetTokenURI",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "association",
      "outputs": [
        {
          "internalType": "contract Association",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Association",
          "name": "someAssociation",
          "type": "address"
        }
      ],
      "name": "belongsTo",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "price",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Association",
          "name": "_association",
          "type": "address"
        }
      ],
      "name": "setAssociation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_price",
          "type": "uint64"
        }
      ],
      "name": "setPrice",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract ERC20",
          "name": "_tokenToPurchaseIn",
          "type": "address"
        }
      ],
      "name": "setTokenToPurchaseIn",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_tokenURI",
          "type": "string"
        }
      ],
      "name": "setTokenURI",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "tokenToPurchaseIn",
      "outputs": [
        {
          "internalType": "contract ERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60806040523480156200001157600080fd5b5060405162001a4138038062001a41833981016040819052620000349162000325565b8585858585856200004533620000ff565b600380546001600160a01b0319166001600160a01b03851617905560018054600160a01b600160e01b031916600160a01b6001600160401b0385160217905580516200009990600290602084019062000199565b50620000a5846200014f565b620000b033620000ff565b50508351620000c9925060079150602085019062000199565b508051620000df90600890602084019062000199565b505050620000f333620000ff60201b60201c565b50505050505062000436565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fd644dc7fcd33e8f50b196f5d8efabdaea1758e024467b0c26ca395105c4becfb90600090a250565b828054620001a790620003fa565b90600052602060002090601f016020900481019282620001cb576000855562000216565b82601f10620001e657805160ff191683800117855562000216565b8280016001018555821562000216579182015b8281111562000216578251825591602001919060010190620001f9565b506200022492915062000228565b5090565b5b8082111562000224576000815560010162000229565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200026757600080fd5b81516001600160401b03808211156200028457620002846200023f565b604051601f8301601f19908116603f01168101908282118183101715620002af57620002af6200023f565b81604052838152602092508683858801011115620002cc57600080fd5b600091505b83821015620002f05785820183015181830184015290820190620002d1565b83821115620003025760008385830101525b9695505050505050565b6001600160a01b03811681146200032257600080fd5b50565b60008060008060008060c087890312156200033f57600080fd5b86516001600160401b03808211156200035757600080fd5b620003658a838b0162000255565b975060208901519150808211156200037c57600080fd5b6200038a8a838b0162000255565b9650604089015191506200039e826200030c565b6060890151919550620003b1826200030c565b60808901519194508082168214620003c857600080fd5b60a089015191935080821115620003de57600080fd5b50620003ed89828a0162000255565b9150509295509295509295565b600181811c908216806200040f57607f821691505b6020821081036200043057634e487b7160e01b600052602260045260246000fd5b50919050565b6115fb80620004466000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a457c2d71161007c578063a457c2d7146102ed578063a9059cbb14610300578063dd62ed3e14610313578063e0df5b6f14610326578063eda6032e14610339578063f2fde38b1461034c57600080fd5b8063715018a61461027257806374062f4d1461027a5780638662d3ae1461028d5780638da5cb5b146102a057806395d89b41146102b1578063a035b1fe146102b957600080fd5b806323b872dd1161011557806323b872dd146101f9578063313ce5671461020c578063395093511461021b5780633c130d901461022e57806340c10f191461023657806370a082311461024957600080fd5b8063050d4f781461015d57806306fdde0314610187578063079d09801461019c578063095ea7b3146101af57806318160ddd146101d2578063229c2048146101e4575b600080fd5b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61018f61035f565b60405161017e9190611298565b60035461016a906001600160a01b031681565b6101c26101bd366004611302565b6103f1565b604051901515815260200161017e565b6006545b60405190815260200161017e565b6101f76101f236600461132e565b610441565b005b6101c261020736600461135f565b610575565b6040516012815260200161017e565b6101c2610229366004611302565b610669565b61018f61068b565b6101f7610244366004611302565b610719565b6101d66102573660046113a0565b6001600160a01b031660009081526004602052604090205490565b6101f7610803565b6101f76102883660046113a0565b610839565b6101c261029b3660046113a0565b61086f565b6000546001600160a01b031661016a565b61018f6108f8565b6001546102d490600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161017e565b6101c26102fb366004611302565b610907565b6101c261030e366004611302565b61098d565b6101d66103213660046113bd565b610a80565b6101f761033436600461140c565b610aab565b6101f76103473660046113a0565b610bd5565b6101f761035a3660046113a0565b610cfb565b60606007805461036e906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461039a906114bd565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b5050505050905090565b60405162461bcd60e51b815260206004820152601e60248201527f4c6963656e73653a20617070726f7665206e6f7420737570706f72746564000060448201526000906064015b60405180910390fd5b6001546001600160a01b031661045657600080fd5b6000546001600160a01b03163314806104ec57506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d791906114f7565b6001600160a01b0316336001600160a01b0316145b8061050157506001546001600160a01b031633145b61051d5760405162461bcd60e51b815260040161043890611514565b6001805467ffffffffffffffff60a01b1916600160a01b67ffffffffffffffff8416908102919091179091556040517ff88bffa611823165fbf8a5b30329c5759a3d2e8f25548ccf875a76d09905cf4a90600090a250565b6001546000906001600160a01b031661058d57600080fd5b6000546001600160a01b031633148061062357506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e91906114f7565b6001600160a01b0316336001600160a01b0316145b8061063857506001546001600160a01b031633145b6106545760405162461bcd60e51b815260040161043890611514565b61065f848484610d93565b5060019392505050565b60003361065f81858561067c8383610a80565b6106869190611571565b610f62565b60028054610698906114bd565b80601f01602080910402602001604051908101604052809291908181526020018280546106c4906114bd565b80156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b505050505081565b6001546001600160a01b031661072e57600080fd5b6000546001600160a01b03163314806107c457506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af91906114f7565b6001600160a01b0316336001600160a01b0316145b806107d957506001546001600160a01b031633145b6107f55760405162461bcd60e51b815260040161043890611514565b6107ff8282611086565b5050565b6000546001600160a01b0316331461082d5760405162461bcd60e51b815260040161043890611597565b6108376000611165565b565b6000546001600160a01b031633146108635760405162461bcd60e51b815260040161043890611597565b61086c816111b5565b50565b6001546000906001600160a01b0383811691161480156108f257506040516321887c3d60e01b81523060048201526001600160a01b038316906321887c3d90602401602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f291906115cc565b92915050565b60606008805461036e906114bd565b600033816109158286610a80565b9050838110156109755760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610438565b6109828286868403610f62565b506001949350505050565b6001546000906001600160a01b03166109a557600080fd5b6000546001600160a01b0316331480610a3b57506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2691906114f7565b6001600160a01b0316336001600160a01b0316145b80610a5057506001546001600160a01b031633145b610a6c5760405162461bcd60e51b815260040161043890611514565b610a77338484610d93565b50600192915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001546001600160a01b0316610ac057600080fd5b6000546001600160a01b0316331480610b5657506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4191906114f7565b6001600160a01b0316336001600160a01b0316145b80610b6b57506001546001600160a01b031633145b610b875760405162461bcd60e51b815260040161043890611514565b8051610b9a9060029060208401906111ff565b507f9d3b637080c93cf84785a8e847e7c45118d18988dfbaf8acb02b53fcbb14dacb81604051610bca9190611298565b60405180910390a150565b6001546001600160a01b0316610bea57600080fd5b6000546001600160a01b0316331480610c8057506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b91906114f7565b6001600160a01b0316336001600160a01b0316145b80610c9557506001546001600160a01b031633145b610cb15760405162461bcd60e51b815260040161043890611514565b600380546001600160a01b0319166001600160a01b0383169081179091556040517fc3450b42414279d313db34d948a7a39227cc9c9e2acf2228eba16179d628f66f90600090a250565b6000546001600160a01b03163314610d255760405162461bcd60e51b815260040161043890611597565b6001600160a01b038116610d8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610438565b61086c81611165565b6001600160a01b038316610df75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610438565b6001600160a01b038216610e595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610438565b6001600160a01b03831660009081526004602052604090205481811015610ed15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610438565b6001600160a01b03808516600090815260046020526040808220858503905591851681529081208054849290610f08908490611571565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f5491815260200190565b60405180910390a350505050565b6001600160a01b038316610fc45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610438565b6001600160a01b0382166110255760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166110dc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610438565b80600660008282546110ee9190611571565b90915550506001600160a01b0382166000908152600460205260408120805483929061111b908490611571565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fd644dc7fcd33e8f50b196f5d8efabdaea1758e024467b0c26ca395105c4becfb90600090a250565b82805461120b906114bd565b90600052602060002090601f01602090048101928261122d5760008555611273565b82601f1061124657805160ff1916838001178555611273565b82800160010185558215611273579182015b82811115611273578251825591602001919060010190611258565b5061127f929150611283565b5090565b5b8082111561127f5760008155600101611284565b600060208083528351808285015260005b818110156112c5578581018301518582016040015282016112a9565b818111156112d7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086c57600080fd5b6000806040838503121561131557600080fd5b8235611320816112ed565b946020939093013593505050565b60006020828403121561134057600080fd5b813567ffffffffffffffff8116811461135857600080fd5b9392505050565b60008060006060848603121561137457600080fd5b833561137f816112ed565b9250602084013561138f816112ed565b929592945050506040919091013590565b6000602082840312156113b257600080fd5b8135611358816112ed565b600080604083850312156113d057600080fd5b82356113db816112ed565b915060208301356113eb816112ed565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561141e57600080fd5b813567ffffffffffffffff8082111561143657600080fd5b818401915084601f83011261144a57600080fd5b81358181111561145c5761145c6113f6565b604051601f8201601f19908116603f01168101908382118183101715611484576114846113f6565b8160405282815287602084870101111561149d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806114d157607f821691505b6020821081036114f157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561150957600080fd5b8151611358816112ed565b6020808252603f908201527f4d656d6265723a2063616c6c6572206973206e6f7420746865206f776e65722c60408201527f206173736f63696174696f6e2c206173736f63696174696f6e206f776e657200606082015260800190565b6000821982111561159257634e487b7160e01b600052601160045260246000fd5b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115de57600080fd5b8151801515811461135857600080fdfea164736f6c634300080d000a",
    "sourceMap": "273:389:11:-:0;;;320:340;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;595:4;601:6;532:11;545:17;564:5;571:8;921:32:0;719:10:9;921:18:0;:32::i;:::-;1244:17:18;:38;;-1:-1:-1;;;;;;1244:38:18;-1:-1:-1;;;;;1244:38:18;;;;;-1:-1:-1;1292:14:18;;-1:-1:-1;;;;;;;;1292:14:18;-1:-1:-1;;;;;;;;1292:14:18;;;;;;1316:20;;;;-1:-1:-1;;1316:20:18;;;;;:::i;:::-;-1:-1:-1;1346:29:18;1362:12;1346:15;:29::i;:::-;1385:30;1404:10;1385:18;:30::i;:::-;-1:-1:-1;;2044:13:1;;;;-1:-1:-1;2044:5:1;;-1:-1:-1;2044:13:1;;;;;:::i;:::-;-1:-1:-1;2067:17:1;;;;:7;;:17;;;;;:::i;:::-;;1978:113;;623:30:11::2;642:10;623:18;;;:30;;:::i;:::-;320:340:::0;;;;;;273:389;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;2189:165:15:-;2262:12;:30;;-1:-1:-1;;;;;;2262:30:15;-1:-1:-1;;;;;2262:30:15;;;;;;;;2307:40;;;;-1:-1:-1;;2307:40:15;2189:165;:::o;273:389:11:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;273:389:11;;;-1:-1:-1;273:389:11;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:22;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:22;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:22;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:22:o;1036:144::-;-1:-1:-1;;;;;1124:31:22;;1114:42;;1104:70;;1170:1;1167;1160:12;1104:70;1036:144;:::o;1185:1247::-;1362:6;1370;1378;1386;1394;1402;1455:3;1443:9;1434:7;1430:23;1426:33;1423:53;;;1472:1;1469;1462:12;1423:53;1499:16;;-1:-1:-1;;;;;1564:14:22;;;1561:34;;;1591:1;1588;1581:12;1561:34;1614:61;1667:7;1658:6;1647:9;1643:22;1614:61;:::i;:::-;1604:71;;1721:2;1710:9;1706:18;1700:25;1684:41;;1750:2;1740:8;1737:16;1734:36;;;1766:1;1763;1756:12;1734:36;1789:63;1844:7;1833:8;1822:9;1818:24;1789:63;:::i;:::-;1779:73;;1895:2;1884:9;1880:18;1874:25;1861:38;;1908:44;1946:5;1908:44;:::i;:::-;2021:2;2006:18;;2000:25;1971:5;;-1:-1:-1;2034:46:22;2000:25;2034:46;:::i;:::-;2151:3;2136:19;;2130:26;2099:7;;-1:-1:-1;2187:16:22;;;2175:29;;2165:57;;2218:1;2215;2208:12;2165:57;2294:3;2279:19;;2273:26;2241:7;;-1:-1:-1;2311:16:22;;;2308:36;;;2340:1;2337;2330:12;2308:36;;2363:63;2418:7;2407:8;2396:9;2392:24;2363:63;:::i;:::-;2353:73;;;1185:1247;;;;;;;;:::o;2437:380::-;2516:1;2512:12;;;;2559;;;2580:61;;2634:4;2626:6;2622:17;2612:27;;2580:61;2687:2;2679:6;2676:14;2656:18;2653:38;2650:161;;2733:10;2728:3;2724:20;2721:1;2714:31;2768:4;2765:1;2758:15;2796:4;2793:1;2786:15;2650:161;;2437:380;;;:::o;:::-;273:389:11;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a457c2d71161007c578063a457c2d7146102ed578063a9059cbb14610300578063dd62ed3e14610313578063e0df5b6f14610326578063eda6032e14610339578063f2fde38b1461034c57600080fd5b8063715018a61461027257806374062f4d1461027a5780638662d3ae1461028d5780638da5cb5b146102a057806395d89b41146102b1578063a035b1fe146102b957600080fd5b806323b872dd1161011557806323b872dd146101f9578063313ce5671461020c578063395093511461021b5780633c130d901461022e57806340c10f191461023657806370a082311461024957600080fd5b8063050d4f781461015d57806306fdde0314610187578063079d09801461019c578063095ea7b3146101af57806318160ddd146101d2578063229c2048146101e4575b600080fd5b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61018f61035f565b60405161017e9190611298565b60035461016a906001600160a01b031681565b6101c26101bd366004611302565b6103f1565b604051901515815260200161017e565b6006545b60405190815260200161017e565b6101f76101f236600461132e565b610441565b005b6101c261020736600461135f565b610575565b6040516012815260200161017e565b6101c2610229366004611302565b610669565b61018f61068b565b6101f7610244366004611302565b610719565b6101d66102573660046113a0565b6001600160a01b031660009081526004602052604090205490565b6101f7610803565b6101f76102883660046113a0565b610839565b6101c261029b3660046113a0565b61086f565b6000546001600160a01b031661016a565b61018f6108f8565b6001546102d490600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161017e565b6101c26102fb366004611302565b610907565b6101c261030e366004611302565b61098d565b6101d66103213660046113bd565b610a80565b6101f761033436600461140c565b610aab565b6101f76103473660046113a0565b610bd5565b6101f761035a3660046113a0565b610cfb565b60606007805461036e906114bd565b80601f016020809104026020016040519081016040528092919081815260200182805461039a906114bd565b80156103e75780601f106103bc576101008083540402835291602001916103e7565b820191906000526020600020905b8154815290600101906020018083116103ca57829003601f168201915b5050505050905090565b60405162461bcd60e51b815260206004820152601e60248201527f4c6963656e73653a20617070726f7665206e6f7420737570706f72746564000060448201526000906064015b60405180910390fd5b6001546001600160a01b031661045657600080fd5b6000546001600160a01b03163314806104ec57506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d791906114f7565b6001600160a01b0316336001600160a01b0316145b8061050157506001546001600160a01b031633145b61051d5760405162461bcd60e51b815260040161043890611514565b6001805467ffffffffffffffff60a01b1916600160a01b67ffffffffffffffff8416908102919091179091556040517ff88bffa611823165fbf8a5b30329c5759a3d2e8f25548ccf875a76d09905cf4a90600090a250565b6001546000906001600160a01b031661058d57600080fd5b6000546001600160a01b031633148061062357506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e91906114f7565b6001600160a01b0316336001600160a01b0316145b8061063857506001546001600160a01b031633145b6106545760405162461bcd60e51b815260040161043890611514565b61065f848484610d93565b5060019392505050565b60003361065f81858561067c8383610a80565b6106869190611571565b610f62565b60028054610698906114bd565b80601f01602080910402602001604051908101604052809291908181526020018280546106c4906114bd565b80156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b505050505081565b6001546001600160a01b031661072e57600080fd5b6000546001600160a01b03163314806107c457506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af91906114f7565b6001600160a01b0316336001600160a01b0316145b806107d957506001546001600160a01b031633145b6107f55760405162461bcd60e51b815260040161043890611514565b6107ff8282611086565b5050565b6000546001600160a01b0316331461082d5760405162461bcd60e51b815260040161043890611597565b6108376000611165565b565b6000546001600160a01b031633146108635760405162461bcd60e51b815260040161043890611597565b61086c816111b5565b50565b6001546000906001600160a01b0383811691161480156108f257506040516321887c3d60e01b81523060048201526001600160a01b038316906321887c3d90602401602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f291906115cc565b92915050565b60606008805461036e906114bd565b600033816109158286610a80565b9050838110156109755760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610438565b6109828286868403610f62565b506001949350505050565b6001546000906001600160a01b03166109a557600080fd5b6000546001600160a01b0316331480610a3b57506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2691906114f7565b6001600160a01b0316336001600160a01b0316145b80610a5057506001546001600160a01b031633145b610a6c5760405162461bcd60e51b815260040161043890611514565b610a77338484610d93565b50600192915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001546001600160a01b0316610ac057600080fd5b6000546001600160a01b0316331480610b5657506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4191906114f7565b6001600160a01b0316336001600160a01b0316145b80610b6b57506001546001600160a01b031633145b610b875760405162461bcd60e51b815260040161043890611514565b8051610b9a9060029060208401906111ff565b507f9d3b637080c93cf84785a8e847e7c45118d18988dfbaf8acb02b53fcbb14dacb81604051610bca9190611298565b60405180910390a150565b6001546001600160a01b0316610bea57600080fd5b6000546001600160a01b0316331480610c8057506001546001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b91906114f7565b6001600160a01b0316336001600160a01b0316145b80610c9557506001546001600160a01b031633145b610cb15760405162461bcd60e51b815260040161043890611514565b600380546001600160a01b0319166001600160a01b0383169081179091556040517fc3450b42414279d313db34d948a7a39227cc9c9e2acf2228eba16179d628f66f90600090a250565b6000546001600160a01b03163314610d255760405162461bcd60e51b815260040161043890611597565b6001600160a01b038116610d8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610438565b61086c81611165565b6001600160a01b038316610df75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610438565b6001600160a01b038216610e595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610438565b6001600160a01b03831660009081526004602052604090205481811015610ed15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610438565b6001600160a01b03808516600090815260046020526040808220858503905591851681529081208054849290610f08908490611571565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f5491815260200190565b60405180910390a350505050565b6001600160a01b038316610fc45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610438565b6001600160a01b0382166110255760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166110dc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610438565b80600660008282546110ee9190611571565b90915550506001600160a01b0382166000908152600460205260408120805483929061111b908490611571565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fd644dc7fcd33e8f50b196f5d8efabdaea1758e024467b0c26ca395105c4becfb90600090a250565b82805461120b906114bd565b90600052602060002090601f01602090048101928261122d5760008555611273565b82601f1061124657805160ff1916838001178555611273565b82800160010185558215611273579182015b82811115611273578251825591602001919060010190611258565b5061127f929150611283565b5090565b5b8082111561127f5760008155600101611284565b600060208083528351808285015260005b818110156112c5578581018301518582016040015282016112a9565b818111156112d7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086c57600080fd5b6000806040838503121561131557600080fd5b8235611320816112ed565b946020939093013593505050565b60006020828403121561134057600080fd5b813567ffffffffffffffff8116811461135857600080fd5b9392505050565b60008060006060848603121561137457600080fd5b833561137f816112ed565b9250602084013561138f816112ed565b929592945050506040919091013590565b6000602082840312156113b257600080fd5b8135611358816112ed565b600080604083850312156113d057600080fd5b82356113db816112ed565b915060208301356113eb816112ed565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561141e57600080fd5b813567ffffffffffffffff8082111561143657600080fd5b818401915084601f83011261144a57600080fd5b81358181111561145c5761145c6113f6565b604051601f8201601f19908116603f01168101908382118183101715611484576114846113f6565b8160405282815287602084870101111561149d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806114d157607f821691505b6020821081036114f157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561150957600080fd5b8151611358816112ed565b6020808252603f908201527f4d656d6265723a2063616c6c6572206973206e6f7420746865206f776e65722c60408201527f206173736f63696174696f6e2c206173736f63696174696f6e206f776e657200606082015260800190565b6000821982111561159257634e487b7160e01b600052601160045260246000fd5b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115de57600080fd5b8151801515811461135857600080fdfea164736f6c634300080d000a",
    "sourceMap": "273:389:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2412:93:15;2486:12;;-1:-1:-1;;;;;2486:12:15;2412:93;;;-1:-1:-1;;;;;198:32:22;;;180:51;;168:2;153:18;2412:93:15;;;;;;;;2156:98:1;;;:::i;:::-;;;;;;;:::i;547:30:18:-;;;;;-1:-1:-1;;;;;547:30:18;;;976:171:16;;;;;;:::i;:::-;;:::i;:::-;;;1686:14:22;;1679:22;1661:41;;1649:2;1634:18;976:171:16;1521:187:22;3244:106:1;3331:12;;3244:106;;;1859:25:22;;;1847:2;1832:18;3244:106:1;1713:177:22;1747:133:18;;;;;;:::i;:::-;;:::i;:::-;;750:220:16;;;;;;:::i;:::-;;:::i;3093:91:1:-;;;3175:2;2787:36:22;;2775:2;2760:18;3093:91:1;2645:184:22;5873:234:1;;;;;;:::i;:::-;;:::i;463:22:18:-;;;:::i;418:106:16:-;;;;;;:::i;:::-;;:::i;3408:125:1:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3508:18:1;3482:7;3508:18;;;:9;:18;;;;;;;3408:125;1668:101:0;;;:::i;1428:121:18:-;;;;;;:::i;:::-;;:::i;2511:203:15:-;;;;;;:::i;:::-;;:::i;1036:85:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;1036:85;;2367:102:1;;;:::i;366:19:18:-;;;;;-1:-1:-1;;;366:19:18;;;;;;;;;3740:18:22;3728:31;;;3710:50;;3698:2;3683:18;366:19:18;3566:200:22;6594:427:1;;;;;;:::i;:::-;;:::i;530:214:16:-;;;;;;:::i;:::-;;:::i;3976:149:1:-;;;;;;:::i;:::-;;:::i;1555:186:18:-;;;;;;:::i;:::-;;:::i;1886:241::-;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;2156:98:1:-;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;976:171:16:-;1100:40;;-1:-1:-1;;;1100:40:16;;6075:2:22;1100:40:16;;;6057:21:22;6114:2;6094:18;;;6087:30;6153:32;6133:18;;;6126:60;1080:4:16;;6203:18:22;;1100:40:16;;;;;;;;1747:133:18;1708:12:15;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;1828:5:18::1;:14:::0;;-1:-1:-1;;;;1828:14:18::1;-1:-1:-1::0;;;1828:14:18::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;1857:16:::1;::::0;::::1;::::0;-1:-1:-1;;1857:16:18::1;1747:133:::0;:::o;750:220:16:-;1708:12:15;;899:4:16;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;915:27:16::1;925:4;931:2;935:6;915:9;:27::i;:::-;-1:-1:-1::0;959:4:16::1;750:220:::0;;;;;:::o;5873:234:1:-;5961:4;719:10:9;6015:64:1;719:10:9;6031:7:1;6068:10;6040:25;719:10:9;6031:7:1;6040:9;:25::i;:::-;:38;;;;:::i;:::-;6015:8;:64::i;463:22:18:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;418:106:16:-;1708:12:15;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;500:17:16::1;506:2;510:6;500:5;:17::i;:::-;418:106:::0;;:::o;1668:101:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:9;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1428:121:18:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:9;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1513:29:18::1;1529:12;1513:15;:29::i;:::-;1428:121:::0;:::o;2511:203:15:-;2666:12;;2620:4;;-1:-1:-1;;;;;2647:31:15;;;2666:12;;2647:31;:60;;;;-1:-1:-1;2682:25:15;;-1:-1:-1;;;2682:25:15;;2702:4;2682:25;;;180:51:22;-1:-1:-1;;;;;2682:19:15;;;;;153:18:22;;2682:25:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2640:67;2511:203;-1:-1:-1;;2511:203:15:o;2367:102:1:-;2423:13;2455:7;2448:14;;;;;:::i;6594:427::-;6687:4;719:10:9;6687:4:1;6768:25;719:10:9;6785:7:1;6768:9;:25::i;:::-;6741:52;;6831:15;6811:16;:35;;6803:85;;;;-1:-1:-1;;;6803:85:1;;8218:2:22;6803:85:1;;;8200:21:22;8257:2;8237:18;;;8230:30;8296:34;8276:18;;;8269:62;-1:-1:-1;;;8347:18:22;;;8340:35;8392:19;;6803:85:1;8016:401:22;6803:85:1;6922:60;6931:5;6938:7;6966:15;6947:16;:34;6922:8;:60::i;:::-;-1:-1:-1;7010:4:1;;6594:427;-1:-1:-1;;;;6594:427:1:o;530:214:16:-;1708:12:15;;663:4:16;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;683:33:16::1;693:10;705:2;709:6;683:9;:33::i;:::-;-1:-1:-1::0;733:4:16::1;530:214:::0;;;;:::o;3976:149:1:-;-1:-1:-1;;;;;4091:18:1;;;4065:7;4091:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3976:149::o;1555:186:18:-;1708:12:15;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;1677:20:18;;::::1;::::0;:8:::1;::::0;:20:::1;::::0;::::1;::::0;::::1;:::i;:::-;;1712:22;1724:9;1712:22;;;;;;:::i;:::-;;;;;;;;1555:186:::0;:::o;1886:241::-;1708:12:15;;-1:-1:-1;;;;;1708:12:15;1692:44;;;;;;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;1767:10:15;:21;;:76;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;-1:-1:-1;;;;;1822:19:15;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1808:35:15;:10;-1:-1:-1;;;;;1808:35:15;;1767:76;:132;;;-1:-1:-1;2486:12:15;;-1:-1:-1;;;;;2486:12:15;1863:10;:36;1767:132;1746:242;;;;-1:-1:-1;;;1746:242:15;;;;;;;:::i;:::-;2018:17:18::1;:38:::0;;-1:-1:-1;;;;;;2018:38:18::1;-1:-1:-1::0;;;;;2018:38:18;::::1;::::0;;::::1;::::0;;;2071:49:::1;::::0;::::1;::::0;-1:-1:-1;;2071:49:18::1;1886:241:::0;:::o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:9;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;8624:2:22;1998:73:0::1;::::0;::::1;8606:21:22::0;8663:2;8643:18;;;8636:30;8702:34;8682:18;;;8675:62;-1:-1:-1;;;8753:18:22;;;8746:36;8799:19;;1998:73:0::1;8422:402:22::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;7484:651:1:-:0;-1:-1:-1;;;;;7610:18:1;;7602:68;;;;-1:-1:-1;;;7602:68:1;;9031:2:22;7602:68:1;;;9013:21:22;9070:2;9050:18;;;9043:30;9109:34;9089:18;;;9082:62;-1:-1:-1;;;9160:18:22;;;9153:35;9205:19;;7602:68:1;8829:401:22;7602:68:1;-1:-1:-1;;;;;7688:16:1;;7680:64;;;;-1:-1:-1;;;7680:64:1;;9437:2:22;7680:64:1;;;9419:21:22;9476:2;9456:18;;;9449:30;9515:34;9495:18;;;9488:62;-1:-1:-1;;;9566:18:22;;;9559:33;9609:19;;7680:64:1;9235:399:22;7680:64:1;-1:-1:-1;;;;;7826:15:1;;7804:19;7826:15;;;:9;:15;;;;;;7859:21;;;;7851:72;;;;-1:-1:-1;;;7851:72:1;;9841:2:22;7851:72:1;;;9823:21:22;9880:2;9860:18;;;9853:30;9919:34;9899:18;;;9892:62;-1:-1:-1;;;9970:18:22;;;9963:36;10016:19;;7851:72:1;9639:402:22;7851:72:1;-1:-1:-1;;;;;7957:15:1;;;;;;;:9;:15;;;;;;7975:20;;;7957:38;;8015:13;;;;;;;;:23;;7989:6;;7957:15;8015:23;;7989:6;;8015:23;:::i;:::-;;;;;;;;8069:2;-1:-1:-1;;;;;8054:26:1;8063:4;-1:-1:-1;;;;;8054:26:1;;8073:6;8054:26;;;;1859:25:22;;1847:2;1832:18;;1713:177;8054:26:1;;;;;;;;7592:543;7484:651;;;:::o;10119:370::-;-1:-1:-1;;;;;10250:19:1;;10242:68;;;;-1:-1:-1;;;10242:68:1;;10248:2:22;10242:68:1;;;10230:21:22;10287:2;10267:18;;;10260:30;10326:34;10306:18;;;10299:62;-1:-1:-1;;;10377:18:22;;;10370:34;10421:19;;10242:68:1;10046:400:22;10242:68:1;-1:-1:-1;;;;;10328:21:1;;10320:68;;;;-1:-1:-1;;;10320:68:1;;10653:2:22;10320:68:1;;;10635:21:22;10692:2;10672:18;;;10665:30;10731:34;10711:18;;;10704:62;-1:-1:-1;;;10782:18:22;;;10775:32;10824:19;;10320:68:1;10451:398:22;10320:68:1;-1:-1:-1;;;;;10399:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10450:32;;1859:25:22;;;10450:32:1;;1832:18:22;10450:32:1;;;;;;;10119:370;;;:::o;8411:389::-;-1:-1:-1;;;;;8494:21:1;;8486:65;;;;-1:-1:-1;;;8486:65:1;;11056:2:22;8486:65:1;;;11038:21:22;11095:2;11075:18;;;11068:30;11134:33;11114:18;;;11107:61;11185:18;;8486:65:1;10854:355:22;8486:65:1;8638:6;8622:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8654:18:1;;;;;;:9;:18;;;;;:28;;8676:6;;8654:18;:28;;8676:6;;8654:28;:::i;:::-;;;;-1:-1:-1;;8697:37:1;;1859:25:22;;;-1:-1:-1;;;;;8697:37:1;;;8714:1;;8697:37;;1847:2:22;1832:18;8697:37:1;;;;;;;418:106:16;;:::o;2270:187:0:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;2189:165:15:-;2262:12;:30;;-1:-1:-1;;;;;;2262:30:15;-1:-1:-1;;;;;2262:30:15;;;;;;;;2307:40;;;;-1:-1:-1;;2307:40:15;2189:165;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;242:597:22;354:4;383:2;412;401:9;394:21;444:6;438:13;487:6;482:2;471:9;467:18;460:34;512:1;522:140;536:6;533:1;530:13;522:140;;;631:14;;;627:23;;621:30;597:17;;;616:2;593:26;586:66;551:10;;522:140;;;680:6;677:1;674:13;671:91;;;750:1;745:2;736:6;725:9;721:22;717:31;710:42;671:91;-1:-1:-1;823:2:22;802:15;-1:-1:-1;;798:29:22;783:45;;;;830:2;779:54;;242:597;-1:-1:-1;;;242:597:22:o;1065:131::-;-1:-1:-1;;;;;1140:31:22;;1130:42;;1120:70;;1186:1;1183;1176:12;1201:315;1269:6;1277;1330:2;1318:9;1309:7;1305:23;1301:32;1298:52;;;1346:1;1343;1336:12;1298:52;1385:9;1372:23;1404:31;1429:5;1404:31;:::i;:::-;1454:5;1506:2;1491:18;;;;1478:32;;-1:-1:-1;;;1201:315:22:o;1895:284::-;1953:6;2006:2;1994:9;1985:7;1981:23;1977:32;1974:52;;;2022:1;2019;2012:12;1974:52;2061:9;2048:23;2111:18;2104:5;2100:30;2093:5;2090:41;2080:69;;2145:1;2142;2135:12;2080:69;2168:5;1895:284;-1:-1:-1;;;1895:284:22:o;2184:456::-;2261:6;2269;2277;2330:2;2318:9;2309:7;2305:23;2301:32;2298:52;;;2346:1;2343;2336:12;2298:52;2385:9;2372:23;2404:31;2429:5;2404:31;:::i;:::-;2454:5;-1:-1:-1;2511:2:22;2496:18;;2483:32;2524:33;2483:32;2524:33;:::i;:::-;2184:456;;2576:7;;-1:-1:-1;;;2630:2:22;2615:18;;;;2602:32;;2184:456::o;2834:247::-;2893:6;2946:2;2934:9;2925:7;2921:23;2917:32;2914:52;;;2962:1;2959;2952:12;2914:52;3001:9;2988:23;3020:31;3045:5;3020:31;:::i;3771:388::-;3839:6;3847;3900:2;3888:9;3879:7;3875:23;3871:32;3868:52;;;3916:1;3913;3906:12;3868:52;3955:9;3942:23;3974:31;3999:5;3974:31;:::i;:::-;4024:5;-1:-1:-1;4081:2:22;4066:18;;4053:32;4094:33;4053:32;4094:33;:::i;:::-;4146:7;4136:17;;;3771:388;;;;;:::o;4164:127::-;4225:10;4220:3;4216:20;4213:1;4206:31;4256:4;4253:1;4246:15;4280:4;4277:1;4270:15;4296:922;4365:6;4418:2;4406:9;4397:7;4393:23;4389:32;4386:52;;;4434:1;4431;4424:12;4386:52;4474:9;4461:23;4503:18;4544:2;4536:6;4533:14;4530:34;;;4560:1;4557;4550:12;4530:34;4598:6;4587:9;4583:22;4573:32;;4643:7;4636:4;4632:2;4628:13;4624:27;4614:55;;4665:1;4662;4655:12;4614:55;4701:2;4688:16;4723:2;4719;4716:10;4713:36;;;4729:18;;:::i;:::-;4804:2;4798:9;4772:2;4858:13;;-1:-1:-1;;4854:22:22;;;4878:2;4850:31;4846:40;4834:53;;;4902:18;;;4922:22;;;4899:46;4896:72;;;4948:18;;:::i;:::-;4988:10;4984:2;4977:22;5023:2;5015:6;5008:18;5063:7;5058:2;5053;5049;5045:11;5041:20;5038:33;5035:53;;;5084:1;5081;5074:12;5035:53;5140:2;5135;5131;5127:11;5122:2;5114:6;5110:15;5097:46;5185:1;5163:15;;;5180:2;5159:24;5152:35;;;;-1:-1:-1;5167:6:22;4296:922;-1:-1:-1;;;;;4296:922:22:o;5488:380::-;5567:1;5563:12;;;;5610;;;5631:61;;5685:4;5677:6;5673:17;5663:27;;5631:61;5738:2;5730:6;5727:14;5707:18;5704:38;5701:161;;5784:10;5779:3;5775:20;5772:1;5765:31;5819:4;5816:1;5809:15;5847:4;5844:1;5837:15;5701:161;;5488:380;;;:::o;6232:251::-;6302:6;6355:2;6343:9;6334:7;6330:23;6326:32;6323:52;;;6371:1;6368;6361:12;6323:52;6403:9;6397:16;6422:31;6447:5;6422:31;:::i;6488:427::-;6690:2;6672:21;;;6729:2;6709:18;;;6702:30;6768:34;6763:2;6748:18;;6741:62;6839:33;6834:2;6819:18;;6812:61;6905:3;6890:19;;6488:427::o;6920:225::-;6960:3;6991:1;6987:6;6984:1;6981:13;6978:136;;;7036:10;7031:3;7027:20;7024:1;7017:31;7071:4;7068:1;7061:15;7099:4;7096:1;7089:15;6978:136;-1:-1:-1;7130:9:22;;6920:225::o;7150:356::-;7352:2;7334:21;;;7371:18;;;7364:30;7430:34;7425:2;7410:18;;7403:62;7497:2;7482:18;;7150:356::o;7734:277::-;7801:6;7854:2;7842:9;7833:7;7829:23;7825:32;7822:52;;;7870:1;7867;7860:12;7822:52;7902:9;7896:16;7955:5;7948:13;7941:21;7934:5;7931:32;7921:60;;7977:1;7974;7967:12",
    "linkReferences": {}
  },
  "userdoc": {
    "version": 1,
    "kind": "user"
  },
  "devdoc": {
    "version": 1,
    "kind": "dev",
    "details": "A token that represents software available for sale",
    "methods": {
      "allowance(address,address)": {
        "details": "See {IERC20-allowance}."
      },
      "association()": {
        "details": "Returns the association"
      },
      "balanceOf(address)": {
        "details": "See {IERC20-balanceOf}."
      },
      "decimals()": {
        "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
      },
      "decreaseAllowance(address,uint256)": {
        "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
      },
      "increaseAllowance(address,uint256)": {
        "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
      },
      "name()": {
        "details": "Returns the name of the token."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
      },
      "symbol()": {
        "details": "Returns the symbol of the token, usually a shorter version of the name."
      },
      "totalSupply()": {
        "details": "See {IERC20-totalSupply}."
      },
      "transfer(address,uint256)": {
        "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."
      },
      "transferFrom(address,address,uint256)": {
        "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    }
  },
  "ast": {
    "absolutePath": "/Users/evanconrad/dev/src/strangemoodfoundation/strangemood-eth/src/contracts/App.sol",
    "exportedSymbols": {
      "App": [
        2539
      ],
      "AppBurnable": [
        2593
      ],
      "Association": [
        4902
      ],
      "Context": [
        2404
      ],
      "ERC20": [
        690
      ],
      "FungibleLicense": [
        5132
      ],
      "IERC20": [
        768
      ],
      "IERC20Metadata": [
        793
      ],
      "Listing": [
        5373
      ],
      "Member": [
        5043
      ],
      "Ownable": [
        104
      ]
    },
    "id": 2594,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2496,
        "literals": [
          "solidity",
          "0.8",
          ".13"
        ],
        "nodeType": "PragmaDirective",
        "src": "32:23:11"
      },
      {
        "absolutePath": "/Users/evanconrad/dev/src/strangemoodfoundation/strangemood-eth/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol",
        "file": "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol",
        "id": 2497,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2594,
        "sourceUnit": 691,
        "src": "57:64:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/evanconrad/dev/src/strangemoodfoundation/strangemood-eth/src/contracts/lib/Association.sol",
        "file": "./lib/Association.sol",
        "id": 2498,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2594,
        "sourceUnit": 5044,
        "src": "123:31:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/evanconrad/dev/src/strangemoodfoundation/strangemood-eth/src/contracts/lib/Listing.sol",
        "file": "./lib/Listing.sol",
        "id": 2499,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2594,
        "sourceUnit": 5374,
        "src": "155:27:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/evanconrad/dev/src/strangemoodfoundation/strangemood-eth/src/contracts/lib/License.sol",
        "file": "./lib/License.sol",
        "id": 2500,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 2594,
        "sourceUnit": 5133,
        "src": "183:27:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 2502,
              "name": "Listing",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5373,
              "src": "289:7:11"
            },
            "id": 2503,
            "nodeType": "InheritanceSpecifier",
            "src": "289:7:11"
          },
          {
            "baseName": {
              "id": 2504,
              "name": "FungibleLicense",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5132,
              "src": "298:15:11"
            },
            "id": 2505,
            "nodeType": "InheritanceSpecifier",
            "src": "298:15:11"
          }
        ],
        "canonicalName": "App",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 2501,
          "nodeType": "StructuredDocumentation",
          "src": "212:61:11",
          "text": "@dev A token that represents software available for sale"
        },
        "fullyImplemented": true,
        "id": 2539,
        "linearizedBaseContracts": [
          2539,
          5132,
          690,
          793,
          768,
          5373,
          5043,
          104,
          2404
        ],
        "name": "App",
        "nameLocation": "282:3:11",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 2537,
              "nodeType": "Block",
              "src": "613:47:11",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 2533,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "642:3:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 2534,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "642:10:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2532,
                      "name": "_transferOwnership",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 103,
                      "src": "623:18:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 2535,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "623:30:11",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2536,
                  "nodeType": "ExpressionStatement",
                  "src": "623:30:11"
                }
              ]
            },
            "id": 2538,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 2522,
                    "name": "association",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2512,
                    "src": "532:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Association_$4902",
                      "typeString": "contract Association"
                    }
                  },
                  {
                    "id": 2523,
                    "name": "tokenToPurchaseIn",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2515,
                    "src": "545:17:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20_$690",
                      "typeString": "contract ERC20"
                    }
                  },
                  {
                    "id": 2524,
                    "name": "price",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2517,
                    "src": "564:5:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  {
                    "id": 2525,
                    "name": "tokenURI",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2519,
                    "src": "571:8:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2526,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2521,
                  "name": "Listing",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5373,
                  "src": "524:7:11"
                },
                "nodeType": "ModifierInvocation",
                "src": "524:56:11"
              },
              {
                "arguments": [
                  {
                    "id": 2528,
                    "name": "name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2507,
                    "src": "595:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 2529,
                    "name": "symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2509,
                    "src": "601:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2530,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2527,
                  "name": "ERC20",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 690,
                  "src": "589:5:11"
                },
                "nodeType": "ModifierInvocation",
                "src": "589:19:11"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2507,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "355:4:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "341:18:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2506,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2509,
                  "mutability": "mutable",
                  "name": "symbol",
                  "nameLocation": "383:6:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "369:20:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2508,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "369:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2512,
                  "mutability": "mutable",
                  "name": "association",
                  "nameLocation": "411:11:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "399:23:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Association_$4902",
                    "typeString": "contract Association"
                  },
                  "typeName": {
                    "id": 2511,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2510,
                      "name": "Association",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4902,
                      "src": "399:11:11"
                    },
                    "referencedDeclaration": 4902,
                    "src": "399:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Association_$4902",
                      "typeString": "contract Association"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2515,
                  "mutability": "mutable",
                  "name": "tokenToPurchaseIn",
                  "nameLocation": "438:17:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "432:23:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC20_$690",
                    "typeString": "contract ERC20"
                  },
                  "typeName": {
                    "id": 2514,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2513,
                      "name": "ERC20",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 690,
                      "src": "432:5:11"
                    },
                    "referencedDeclaration": 690,
                    "src": "432:5:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20_$690",
                      "typeString": "contract ERC20"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2517,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "472:5:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "465:12:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 2516,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "465:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2519,
                  "mutability": "mutable",
                  "name": "tokenURI",
                  "nameLocation": "501:8:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2538,
                  "src": "487:22:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2518,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "487:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "331:184:11"
            },
            "returnParameters": {
              "id": 2531,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "613:0:11"
            },
            "scope": 2539,
            "src": "320:340:11",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 2594,
        "src": "273:389:11",
        "usedErrors": []
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 2541,
              "name": "Listing",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5373,
              "src": "770:7:11"
            },
            "id": 2542,
            "nodeType": "InheritanceSpecifier",
            "src": "770:7:11"
          },
          {
            "baseName": {
              "id": 2543,
              "name": "FungibleLicense",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5132,
              "src": "779:15:11"
            },
            "id": 2544,
            "nodeType": "InheritanceSpecifier",
            "src": "779:15:11"
          }
        ],
        "canonicalName": "AppBurnable",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 2540,
          "nodeType": "StructuredDocumentation",
          "src": "664:82:11",
          "text": "@dev A potentially burnable token that represents software available for sale"
        },
        "fullyImplemented": true,
        "id": 2593,
        "linearizedBaseContracts": [
          2593,
          5132,
          690,
          793,
          768,
          5373,
          5043,
          104,
          2404
        ],
        "name": "AppBurnable",
        "nameLocation": "755:11:11",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 2576,
              "nodeType": "Block",
              "src": "1094:47:11",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 2572,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1123:3:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 2573,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "1123:10:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2571,
                      "name": "_transferOwnership",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 103,
                      "src": "1104:18:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 2574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1104:30:11",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2575,
                  "nodeType": "ExpressionStatement",
                  "src": "1104:30:11"
                }
              ]
            },
            "id": 2577,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 2561,
                    "name": "association",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2551,
                    "src": "1013:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Association_$4902",
                      "typeString": "contract Association"
                    }
                  },
                  {
                    "id": 2562,
                    "name": "tokenToPurchaseIn",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2554,
                    "src": "1026:17:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20_$690",
                      "typeString": "contract ERC20"
                    }
                  },
                  {
                    "id": 2563,
                    "name": "price",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2556,
                    "src": "1045:5:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  {
                    "id": 2564,
                    "name": "tokenURI",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2558,
                    "src": "1052:8:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2565,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2560,
                  "name": "Listing",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 5373,
                  "src": "1005:7:11"
                },
                "nodeType": "ModifierInvocation",
                "src": "1005:56:11"
              },
              {
                "arguments": [
                  {
                    "id": 2567,
                    "name": "name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2546,
                    "src": "1076:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 2568,
                    "name": "symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2548,
                    "src": "1082:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2569,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 2566,
                  "name": "ERC20",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 690,
                  "src": "1070:5:11"
                },
                "nodeType": "ModifierInvocation",
                "src": "1070:19:11"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2559,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2546,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "836:4:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "822:18:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2545,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "822:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2548,
                  "mutability": "mutable",
                  "name": "symbol",
                  "nameLocation": "864:6:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "850:20:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2547,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "850:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2551,
                  "mutability": "mutable",
                  "name": "association",
                  "nameLocation": "892:11:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "880:23:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Association_$4902",
                    "typeString": "contract Association"
                  },
                  "typeName": {
                    "id": 2550,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2549,
                      "name": "Association",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4902,
                      "src": "880:11:11"
                    },
                    "referencedDeclaration": 4902,
                    "src": "880:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Association_$4902",
                      "typeString": "contract Association"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2554,
                  "mutability": "mutable",
                  "name": "tokenToPurchaseIn",
                  "nameLocation": "919:17:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "913:23:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC20_$690",
                    "typeString": "contract ERC20"
                  },
                  "typeName": {
                    "id": 2553,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2552,
                      "name": "ERC20",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 690,
                      "src": "913:5:11"
                    },
                    "referencedDeclaration": 690,
                    "src": "913:5:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC20_$690",
                      "typeString": "contract ERC20"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2556,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "953:5:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "946:12:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 2555,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "946:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2558,
                  "mutability": "mutable",
                  "name": "tokenURI",
                  "nameLocation": "982:8:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2577,
                  "src": "968:22:11",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2557,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "968:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "812:184:11"
            },
            "returnParameters": {
              "id": 2570,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1094:0:11"
            },
            "scope": 2593,
            "src": "801:340:11",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2591,
              "nodeType": "Block",
              "src": "1244:36:11",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 2587,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2579,
                        "src": "1260:4:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 2588,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2581,
                        "src": "1266:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      ],
                      "id": 2586,
                      "name": "_burn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 579,
                      "src": "1254:5:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 2589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1254:19:11",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2590,
                  "nodeType": "ExpressionStatement",
                  "src": "1254:19:11"
                }
              ]
            },
            "functionSelector": "c1eccbe0",
            "id": 2592,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 2584,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 2583,
                  "name": "onlyOwnerOrAssociation",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 4952,
                  "src": "1217:22:11"
                },
                "nodeType": "ModifierInvocation",
                "src": "1217:22:11"
              }
            ],
            "name": "burnFrom",
            "nameLocation": "1156:8:11",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2579,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "1173:4:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2592,
                  "src": "1165:12:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2578,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1165:7:11",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2581,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1186:6:11",
                  "nodeType": "VariableDeclaration",
                  "scope": 2592,
                  "src": "1179:13:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 2580,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1179:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1164:29:11"
            },
            "returnParameters": {
              "id": 2585,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1244:0:11"
            },
            "scope": 2593,
            "src": "1147:133:11",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 2594,
        "src": "746:536:11",
        "usedErrors": []
      }
    ],
    "src": "32:1251:11"
  }
}