{
  "contractName": "RICOStandardPoD",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "getBalanceOfWei",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "resetWeiBalance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_tokenDecimals",
          "type": "uint8"
        },
        {
          "name": "_startTime",
          "type": "uint256"
        },
        {
          "name": "_allocationOfTokens",
          "type": "uint256"
        },
        {
          "name": "_priceInWei",
          "type": "uint256"
        },
        {
          "name": "_owners",
          "type": "address[2]"
        },
        {
          "name": "_marketMakers",
          "type": "address[]"
        },
        {
          "name": "_secondOwnerAllocation",
          "type": "uint256"
        }
      ],
      "name": "init",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "status",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "initialDepositFunder",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEndTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "secondOwnerAllocation",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getTokenPrice",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "wallet",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCapOfWei",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "getBalanceOfToken",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPoDEnded",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCapOfToken",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPoDStarted",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_index",
          "type": "uint256"
        },
        {
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "distributeWei",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "tokenMultiplier",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getStartTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "marketMakers",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "donate",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Donated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "time",
          "type": "uint256"
        }
      ],
      "name": "Ended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280603181526020017f5374616e64617264506f4420737472617465677920746f6b656e50726963652081526020017f3d20636170546f6b656e2f636170576569000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b6114d680620002466000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013e57806309fc93c1146101cc578063112ed3f51461021957806318deb0661461026a578063200d2ed2146103385780633c5964941461036f578063439f5ac2146103c45780634b682765146103ed5780634b94f50e14610416578063521eb2731461043f57806354fd4d50146104945780636ccce7a81461052257806383786f8c1461054b5780638da5cb5b146105985780638f85f92c146105ed57806397722acf1461061a5780639b3dfce014610643578063aa985a6314610670578063ba3f5a12146106b4578063c828371e146106dd578063df7271bc14610706578063ed88c68e14610769578063f2fde38b1461078b575b61013b6107c4565b50005b341561014957600080fd5b61015161092f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b610203600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cd565b6040518082815260200191505060405180910390f35b341561022457600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a16565b604051808215151515815260200191505060405180910390f35b341561027557600080fd5b61031e600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050610af4565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61034b610ccd565b6040518082600281111561035b57fe5b60ff16815260200191505060405180910390f35b341561037a57600080fd5b610382610ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103cf57600080fd5b6103d7610d06565b6040518082815260200191505060405180910390f35b34156103f857600080fd5b610400610d10565b6040518082815260200191505060405180910390f35b341561042157600080fd5b610429610d16565b6040518082815260200191505060405180910390f35b341561044a57600080fd5b610452610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561049f57600080fd5b6104a7610d46565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052d57600080fd5b610535610de4565b6040518082815260200191505060405180910390f35b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dee565b6040518082815260200191505060405180910390f35b34156105a357600080fd5b6105ab610f12565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105f857600080fd5b610600610f37565b604051808215151515815260200191505060405180910390f35b341561062557600080fd5b61062d610f77565b6040518082815260200191505060405180910390f35b341561064e57600080fd5b610656610f81565b604051808215151515815260200191505060405180910390f35b341561067b57600080fd5b61069a6004808035906020019091908035906020019091905050610fc2565b604051808215151515815260200191505060405180910390f35b34156106bf57600080fd5b6106c76110ca565b6040518082815260200191505060405180910390f35b34156106e857600080fd5b6106f06110d0565b6040518082815260200191505060405180910390f35b341561071157600080fd5b61072760048080359060200190919050506110da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107716107c4565b604051808215151515815260200191505060405180910390f35b341561079657600080fd5b6107c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611119565b005b6000600160028111156107d357fe5b600b60009054906101000a900460ff1660028111156107ee57fe5b1415156107fa57600080fd5b600454421015151561080b57600080fd5b6412a05f20003a1115151561081f57600080fd5b60003411151561082e57600080fd5b6108373361126e565b15156108a257426005819055506002600b60006101000a81548160ff0219169083600281111561086357fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6108b7346007546113a690919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c55780601f1061099a576101008083540402835291602001916109c5565b820191906000526020600020905b8154815290600101906020018083116109a857829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7357600080fd5b600280811115610a7f57fe5b600b60009054906101000a900460ff166002811115610a9a57fe5b141515610aa657600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5157600080fd5b60006002811115610b5e57fe5b600b60009054906101000a900460ff166002811115610b7957fe5b141515610b8557600080fd5b428710151515610b9457600080fd5b8660048190555082600c9080519060200190610bb19291906113dd565b508760ff16600a0a600d819055508560088190555084600981905550600854600954600d5402811515610be057fe5b04600681905550836000600281101515610bf657fe5b6020020151600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000866001600281101515610c5057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600e819055506001600b60006101000a81548160ff02191690836002811115610cb957fe5b021790555060019050979650505050505050565b600b60009054906101000a900460ff1681565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600e5481565b6000600654905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505081565b6000600954905090565b6000610e0862ed4e006004546113a690919063ffffffff16565b421015610e185760009050610f0d565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec657600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d5402811515610ebe57fe5b049050610f0d565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e540290505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610f4557fe5b600b60009054906101000a900460ff166002811115610f6057fe5b1415610f6f5760019050610f74565b600090505b90565b6000600854905090565b600060016002811115610f9057fe5b600b60009054906101000a900460ff166002811115610fab57fe5b1415610fba5760019050610fbf565b600090505b90565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631821115151561104657600080fd5b600c8381548110151561105557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110c057600080fd5b6001905092915050565b600d5481565b6000600454905090565b600c818154811015156110e957fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111b057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156112cd57600080fd5b6112e46007546009546113c490919063ffffffff16565b90508034111515156112f557600080fd5b61134734600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508034141561139b57600091506113a0565b600191505b50919050565b60008082840190508381101515156113ba57fe5b8091505092915050565b60008282111515156113d257fe5b818303905092915050565b828054828255906000526020600020908101928215611456579160200282015b828111156114555782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906113fd565b5b5090506114639190611467565b5090565b6114a791905b808211156114a357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161146d565b5090565b905600a165627a7a72305820b0d874023b22834a462c7940a3416b8e12a5fa32b266236e225242663438187b0029",
  "deployedBytecode": "0x606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013e57806309fc93c1146101cc578063112ed3f51461021957806318deb0661461026a578063200d2ed2146103385780633c5964941461036f578063439f5ac2146103c45780634b682765146103ed5780634b94f50e14610416578063521eb2731461043f57806354fd4d50146104945780636ccce7a81461052257806383786f8c1461054b5780638da5cb5b146105985780638f85f92c146105ed57806397722acf1461061a5780639b3dfce014610643578063aa985a6314610670578063ba3f5a12146106b4578063c828371e146106dd578063df7271bc14610706578063ed88c68e14610769578063f2fde38b1461078b575b61013b6107c4565b50005b341561014957600080fd5b61015161092f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b610203600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cd565b6040518082815260200191505060405180910390f35b341561022457600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a16565b604051808215151515815260200191505060405180910390f35b341561027557600080fd5b61031e600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050610af4565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61034b610ccd565b6040518082600281111561035b57fe5b60ff16815260200191505060405180910390f35b341561037a57600080fd5b610382610ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103cf57600080fd5b6103d7610d06565b6040518082815260200191505060405180910390f35b34156103f857600080fd5b610400610d10565b6040518082815260200191505060405180910390f35b341561042157600080fd5b610429610d16565b6040518082815260200191505060405180910390f35b341561044a57600080fd5b610452610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561049f57600080fd5b6104a7610d46565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052d57600080fd5b610535610de4565b6040518082815260200191505060405180910390f35b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dee565b6040518082815260200191505060405180910390f35b34156105a357600080fd5b6105ab610f12565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105f857600080fd5b610600610f37565b604051808215151515815260200191505060405180910390f35b341561062557600080fd5b61062d610f77565b6040518082815260200191505060405180910390f35b341561064e57600080fd5b610656610f81565b604051808215151515815260200191505060405180910390f35b341561067b57600080fd5b61069a6004808035906020019091908035906020019091905050610fc2565b604051808215151515815260200191505060405180910390f35b34156106bf57600080fd5b6106c76110ca565b6040518082815260200191505060405180910390f35b34156106e857600080fd5b6106f06110d0565b6040518082815260200191505060405180910390f35b341561071157600080fd5b61072760048080359060200190919050506110da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107716107c4565b604051808215151515815260200191505060405180910390f35b341561079657600080fd5b6107c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611119565b005b6000600160028111156107d357fe5b600b60009054906101000a900460ff1660028111156107ee57fe5b1415156107fa57600080fd5b600454421015151561080b57600080fd5b6412a05f20003a1115151561081f57600080fd5b60003411151561082e57600080fd5b6108373361126e565b15156108a257426005819055506002600b60006101000a81548160ff0219169083600281111561086357fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6108b7346007546113a690919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c55780601f1061099a576101008083540402835291602001916109c5565b820191906000526020600020905b8154815290600101906020018083116109a857829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7357600080fd5b600280811115610a7f57fe5b600b60009054906101000a900460ff166002811115610a9a57fe5b141515610aa657600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5157600080fd5b60006002811115610b5e57fe5b600b60009054906101000a900460ff166002811115610b7957fe5b141515610b8557600080fd5b428710151515610b9457600080fd5b8660048190555082600c9080519060200190610bb19291906113dd565b508760ff16600a0a600d819055508560088190555084600981905550600854600954600d5402811515610be057fe5b04600681905550836000600281101515610bf657fe5b6020020151600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000866001600281101515610c5057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600e819055506001600b60006101000a81548160ff02191690836002811115610cb957fe5b021790555060019050979650505050505050565b600b60009054906101000a900460ff1681565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600e5481565b6000600654905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505081565b6000600954905090565b6000610e0862ed4e006004546113a690919063ffffffff16565b421015610e185760009050610f0d565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec657600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d5402811515610ebe57fe5b049050610f0d565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e540290505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610f4557fe5b600b60009054906101000a900460ff166002811115610f6057fe5b1415610f6f5760019050610f74565b600090505b90565b6000600854905090565b600060016002811115610f9057fe5b600b60009054906101000a900460ff166002811115610fab57fe5b1415610fba5760019050610fbf565b600090505b90565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631821115151561104657600080fd5b600c8381548110151561105557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110c057600080fd5b6001905092915050565b600d5481565b6000600454905090565b600c818154811015156110e957fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111b057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156112cd57600080fd5b6112e46007546009546113c490919063ffffffff16565b90508034111515156112f557600080fd5b61134734600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508034141561139b57600091506113a0565b600191505b50919050565b60008082840190508381101515156113ba57fe5b8091505092915050565b60008282111515156113d257fe5b818303905092915050565b828054828255906000526020600020908101928215611456579160200282015b828111156114555782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906113fd565b5b5090506114639190611467565b5090565b6114a791905b808211156114a357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161146d565b5090565b905600a165627a7a72305820b0d874023b22834a462c7940a3416b8e12a5fa32b266236e225242663438187b0029",
  "sourceMap": "518:3155:13:-;;;702:126;;;;;;;;603:10:9;595:5;;:18;;;;;;;;;;;;;;;;;;1077::10;1068:6;;:27;;;;;;;;;;;;;;;;;;;;;;;;1120:1;1101:16;:20;;;;1136:10;1127:6;;:19;;;;;;;;;;;;;;;;;;742:58:13;;;;;;;;;;;;;;;;;;;;;;;:4;:58;;;;;;;;;;;;:::i;:::-;;806:17;;;;;;;;;;;;;;;;;;:7;:17;;;;;;;;;;;;:::i;:::-;;518:3155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "518:3155:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3416:8:10;:6;:8::i;:::-;;518:3155:13;481:19:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:106:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3505:166:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1630:879;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;829:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;555:35:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2871:81:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;661:36:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2268:86:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:97:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3180:321:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;334:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3215:129:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2945:231:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;627:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2734:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;594:29:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:520:10;;;;;;;;;;;;;;;;;;;;;;;;;;;928:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1220:520:10;1262:4;1293:17;1283:27;;;;;;;;:6;;;;;;;;;;;:27;;;;;;;;;1275:36;;;;;;;;1345:9;;1326:15;:28;;1318:37;;;;;;;;1428:11;1413;:26;;1405:35;;;;;;;;1467:1;1455:9;:13;1447:22;;;;;;;;1516:25;1530:10;1516:13;:25::i;:::-;1515:26;1511:114;;;1561:3;1551:7;:13;;;;1581:15;1572:6;;:24;;;;;;;;;;;;;;;;;;;;;;;;1604:14;1610:7;;1604:14;;;;;;;;;;;;;;;;;;1511:114;1650:31;1671:9;1650:16;;:20;;:31;;;;:::i;:::-;1631:16;:50;;;;1688:30;1696:10;1708:9;1688:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;1731:4;1724:11;;1220:520;:::o;481:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2113:106::-;2177:4;2196:11;:18;2208:5;2196:18;;;;;;;;;;;;;;;;2189:25;;2113:106;;;:::o;3505:166:13:-;3573:4;748:5:9;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;3603:15:13;3593:25;;;;;;;;:6;;;;;;;;;;;:25;;;;;;;;;3585:34;;;;;;;;3647:1;3626:11;:18;3638:5;3626:18;;;;;;;;;;;;;;;:22;;;;3662:4;3655:11;;3505:166;;;:::o;1630:879::-;1877:4;748:5:9;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;1907:18:13;1897:28;;;;;;;;:6;;;;;;;;;;;:28;;;;;;;;;1889:37;;;;;;;;1955:15;1941:10;:29;;1933:38;;;;;;;;1993:10;1981:9;:22;;;;2027:13;2012:12;:28;;;;;;;;;;;;:::i;:::-;;2079:14;2071:23;;2065:2;:29;2047:15;:47;;;;2129:19;2101:25;:47;;;;2180:11;2154:23;:37;;;;2255:25;;2229:23;;2211:15;;:41;:69;;;;;;;;2198:10;:82;;;;2310:7;2318:1;2310:10;;;;;;;;;;;;;2287:20;;:33;;;;;;;;;;;;;;;;;;2352:1;2326:11;:23;2338:7;2346:1;2338:10;;;;;;;;;;;;;2326:23;;;;;;;;;;;;;;;:27;;;;2427:22;2403:21;:46;;;;2465:17;2456:6;;:26;;;;;;;;;;;;;;;;;;;;;;;;2500:4;2493:11;;1630:879;;;;;;;;;:::o;829:20:10:-;;;;;;;;;;;;;:::o;555:35:13:-;;;;;;;;;;;;;:::o;2871:81:10:-;2918:7;2940;;2933:14;;2871:81;:::o;661:36:13:-;;;;:::o;2268:86:10:-;2317:7;2339:10;;2332:17;;2268:86;:::o;530:21::-;;;;;;;;;;;;;:::o;504:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2577:97::-;2624:7;2646:23;;2639:30;;2577:97;:::o;3180:321:13:-;3247:7;3284:23;3298:8;3284:9;;:13;;:23;;;;:::i;:::-;3266:15;:41;3262:61;;;3322:1;3315:8;;;;3262:61;3343:20;;;;;;;;;;;3334:29;;:5;:29;;;3330:166;;;3419:10;;3397:11;:18;3409:5;3397:18;;;;;;;;;;;;;;;;3379:15;;:36;3378:51;;;;;;;;3371:58;;;;3330:166;3478:11;:18;3490:5;3478:18;;;;;;;;;;;;;;;;3454:21;;:42;3447:49;;3180:321;;;;:::o;334:20:9:-;;;;;;;;;;;;;:::o;3215:129:10:-;3261:4;3287:15;3277:25;;;;;;;;:6;;;;;;;;;;;:25;;;;;;;;;3273:48;;;3317:4;3310:11;;;;3273:48;3334:5;3327:12;;3215:129;;:::o;2416:101::-;2465:7;2487:25;;2480:32;;2416:101;:::o;3018:133::-;3066:4;3092:17;3082:27;;;;;;;;:6;;;;;;;;;;;:27;;;;;;;;;3078:50;;;3124:4;3117:11;;;;3078:50;3141:5;3134:12;;3018:133;;:::o;2945:231:13:-;3014:4;3048:20;;;;;;;;;;;3034:34;;:10;:34;;;3026:43;;;;;;;;3095:4;:12;;;3084:7;:23;;3076:32;;;;;;;;3115:12;3128:6;3115:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;:29;;:38;3145:7;3115:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3167:4;3160:11;;2945:231;;;;:::o;627:30::-;;;;:::o;2734:85:10:-;2783:7;2805:9;;2798:16;;2734:85;:::o;594:29:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;928:169:9:-;748:5;;;;;;;;;;;734:19;;:10;:19;;;726:28;;;;;;;;1024:1;1004:22;;:8;:22;;;;996:31;;;;;;;;1061:8;1033:37;;1054:5;;;;;;;;;;;1033:37;;;;;;;;;;;;1084:8;1076:5;;:16;;;;;;;;;;;;;;;;;;928:169;:::o;2513:428:13:-;2569:4;2630:15;2598:20;;;;;;;;;;;2589:29;;:5;:29;;;2581:38;;;;;;;;2648:45;2676:16;;2648:23;;:27;;:45;;;;:::i;:::-;2630:63;;2721:7;2708:9;:20;;2700:29;;;;;;;;2761:33;2784:9;2761:11;:18;2773:5;2761:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;2740:11;:18;2752:5;2740:18;;;;;;;;;;;;;;;:54;;;;2887:7;2874:9;:20;2870:44;;;2909:5;2902:12;;;;2870:44;2932:4;2925:11;;2513:428;;;;;:::o;759:128:16:-;816:7;831:9;847:1;843;:5;831:17;;866:1;861;:6;;854:14;;;;;;881:1;874:8;;759:128;;;;;:::o;646:109::-;703:7;730:1;725;:6;;718:14;;;;;;749:1;745;:5;738:12;;646:109;;;;:::o;518:3155:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\nimport \"../PoD.sol\";\n\n/// @title RICOStandardPoD - RICOStandardPoD contract\n/// @author - Yusaku Senga - <senga@dri.network>\n/// license - Please check the LICENSE at github.com/DRI-network/RICO\n\n/**\n * @title      RICOStandardPoD\n * @dev        RICO Standard Proof of Donation\n *             Handles the Initial Deposit and the functionality to lock up those tokens.\n *             Handles payments to the Market Makers.\n *             (& Handles all donation functionality from PoD.sol)\n */\ncontract RICOStandardPoD is PoD {\n\n  address public initialDepositFunder;\n  address[] public marketMakers;\n  uint256 public tokenMultiplier;\n  uint256 public secondOwnerAllocation;\n\n  function RICOStandardPoD() public {\n    name = \"StandardPoD strategy tokenPrice = capToken/capWei\";\n    version = \"0.9.3\";\n  }\n\n  /**\n   * @dev      initialize PoD contract\n   *\n   * @param    _tokenDecimals           The token decimals\n   * @param    _startTime               The start time for the lock period of 180 days of the owner's tokens.\n   * @param    _allocationOfTokens      The allocation of tokens for the Initial Deposit\n   * @param    _priceInWei              The price of Wei for the Initial Deposit\n   * @param    _owners                  array\n   *           _owners[0]               Owner & Initial Deposit Funder\n   *           _owners[1]               Second owner (can receive secondOwnerAllocation)\n   * @param    _marketMakers            array of addresses of the market makers.\n   * @param    _secondOwnerAllocation   The allocation of tokens to go to the second owner\n   *\n   * @return   true\n   */\n  function init(\n    uint8 _tokenDecimals, \n    uint256 _startTime,\n    uint256 _allocationOfTokens,\n    uint256 _priceInWei,\n    address[2] _owners,\n    address[] _marketMakers,\n    uint256 _secondOwnerAllocation\n  ) \n  public onlyOwner() returns (bool) {\n    require(status == Status.PoDDeployed);\n\n    require(_startTime >= block.timestamp);\n   \n    startTime = _startTime;\n  \n    marketMakers = _marketMakers;\n\n    tokenMultiplier = 10 ** uint256(_tokenDecimals);\n\n    proofOfDonationCapOfToken = _allocationOfTokens;\n    proofOfDonationCapOfWei = _priceInWei;\n\n    tokenPrice = tokenMultiplier * proofOfDonationCapOfWei / proofOfDonationCapOfToken;\n\n    initialDepositFunder = _owners[0];\n    weiBalances[_owners[1]] = 1; // _owners[1] is the initialDepositLocker.\n\n    secondOwnerAllocation = _secondOwnerAllocation;\n\n    status = Status.PoDStarted;\n    \n    return true;\n  }\n\n  function processDonate(address _user) internal returns (bool) {\n    require(_user == initialDepositFunder);\n    \n    uint256 remains = proofOfDonationCapOfWei.sub(totalReceivedWei);\n\n    require(msg.value <= remains);\n    \n    weiBalances[_user] = weiBalances[_user].add(msg.value);\n\n    //distribute ether to wallet.\n    //wallet.transfer(msg.value);\n\n    if (msg.value == remains)\n      return false;\n    \n    return true;\n  }\n\n  function distributeWei(uint _index, uint256 _amount) public returns (bool) {\n    require(msg.sender == initialDepositFunder);\n\n    require(_amount <= this.balance);\n\n    marketMakers[_index].transfer(_amount);\n\n    return true;\n  }\n\n  function getBalanceOfToken(address _user) public constant returns (uint256) {\n    if (block.timestamp < startTime.add(180 days))\n      return 0;\n\n    if (_user == initialDepositFunder)\n      return (tokenMultiplier * weiBalances[_user]) / tokenPrice;\n    else \n      return secondOwnerAllocation * weiBalances[_user];\n  }\n\n  function resetWeiBalance(address _user) public onlyOwner() returns (bool) {\n    require(status == Status.PoDEnded);\n\n    weiBalances[_user] = 0;\n\n    return true;\n  }\n}\n",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/RICOStandardPoD.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/RICOStandardPoD.sol",
      "exportedSymbols": {
        "RICOStandardPoD": [
          3215
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 2950,
        "name": "PragmaDirective",
        "src": "0:24:13"
      },
      {
        "attributes": {
          "SourceUnit": 2383,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoD.sol",
          "file": "../PoD.sol",
          "scope": 3216,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 2951,
        "name": "ImportDirective",
        "src": "25:20:13"
      },
      {
        "attributes": {
          "contractDependencies": [
            2117,
            2382
          ],
          "contractKind": "contract",
          "documentation": "@title      RICOStandardPoD\n@dev        RICO Standard Proof of Donation\n            Handles the Initial Deposit and the functionality to lock up those tokens.\n            Handles payments to the Market Makers.\n            (& Handles all donation functionality from PoD.sol)",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            3215,
            2382,
            2117
          ],
          "name": "RICOStandardPoD",
          "scope": 3216
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "PoD",
                  "referencedDeclaration": 2382,
                  "type": "contract PoD"
                },
                "id": 2952,
                "name": "UserDefinedTypeName",
                "src": "546:3:13"
              }
            ],
            "id": 2953,
            "name": "InheritanceSpecifier",
            "src": "546:3:13"
          },
          {
            "attributes": {
              "constant": false,
              "name": "initialDepositFunder",
              "scope": 3215,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "address",
                  "type": "address"
                },
                "id": 2954,
                "name": "ElementaryTypeName",
                "src": "555:7:13"
              }
            ],
            "id": 2955,
            "name": "VariableDeclaration",
            "src": "555:35:13"
          },
          {
            "attributes": {
              "constant": false,
              "name": "marketMakers",
              "scope": 3215,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address[] storage ref",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "length": null,
                  "type": "address[] storage pointer"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 2956,
                    "name": "ElementaryTypeName",
                    "src": "594:7:13"
                  }
                ],
                "id": 2957,
                "name": "ArrayTypeName",
                "src": "594:9:13"
              }
            ],
            "id": 2958,
            "name": "VariableDeclaration",
            "src": "594:29:13"
          },
          {
            "attributes": {
              "constant": false,
              "name": "tokenMultiplier",
              "scope": 3215,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 2959,
                "name": "ElementaryTypeName",
                "src": "627:7:13"
              }
            ],
            "id": 2960,
            "name": "VariableDeclaration",
            "src": "627:30:13"
          },
          {
            "attributes": {
              "constant": false,
              "name": "secondOwnerAllocation",
              "scope": 3215,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 2961,
                "name": "ElementaryTypeName",
                "src": "661:7:13"
              }
            ],
            "id": 2962,
            "name": "VariableDeclaration",
            "src": "661:36:13"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "RICOStandardPoD",
              "payable": false,
              "scope": 3215,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2963,
                "name": "ParameterList",
                "src": "726:2:13"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2964,
                "name": "ParameterList",
                "src": "736:0:13"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "string storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2128,
                              "type": "string storage ref",
                              "value": "name"
                            },
                            "id": 2965,
                            "name": "Identifier",
                            "src": "742:4:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "5374616e64617264506f4420737472617465677920746f6b656e5072696365203d20636170546f6b656e2f636170576569",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "string",
                              "type": "literal_string \"StandardPoD strategy tokenPrice = capToken/capWei\"",
                              "value": "StandardPoD strategy tokenPrice = capToken/capWei"
                            },
                            "id": 2966,
                            "name": "Literal",
                            "src": "749:51:13"
                          }
                        ],
                        "id": 2967,
                        "name": "Assignment",
                        "src": "742:58:13"
                      }
                    ],
                    "id": 2968,
                    "name": "ExpressionStatement",
                    "src": "742:58:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "string storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2130,
                              "type": "string storage ref",
                              "value": "version"
                            },
                            "id": 2969,
                            "name": "Identifier",
                            "src": "806:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "302e392e33",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "string",
                              "type": "literal_string \"0.9.3\"",
                              "value": "0.9.3"
                            },
                            "id": 2970,
                            "name": "Literal",
                            "src": "816:7:13"
                          }
                        ],
                        "id": 2971,
                        "name": "Assignment",
                        "src": "806:17:13"
                      }
                    ],
                    "id": 2972,
                    "name": "ExpressionStatement",
                    "src": "806:17:13"
                  }
                ],
                "id": 2973,
                "name": "Block",
                "src": "736:92:13"
              }
            ],
            "id": 2974,
            "name": "FunctionDefinition",
            "src": "702:126:13"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "init",
              "payable": false,
              "scope": 3215,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_tokenDecimals",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 2975,
                        "name": "ElementaryTypeName",
                        "src": "1649:5:13"
                      }
                    ],
                    "id": 2976,
                    "name": "VariableDeclaration",
                    "src": "1649:20:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_startTime",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 2977,
                        "name": "ElementaryTypeName",
                        "src": "1676:7:13"
                      }
                    ],
                    "id": 2978,
                    "name": "VariableDeclaration",
                    "src": "1676:18:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allocationOfTokens",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 2979,
                        "name": "ElementaryTypeName",
                        "src": "1700:7:13"
                      }
                    ],
                    "id": 2980,
                    "name": "VariableDeclaration",
                    "src": "1700:27:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_priceInWei",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 2981,
                        "name": "ElementaryTypeName",
                        "src": "1733:7:13"
                      }
                    ],
                    "id": 2982,
                    "name": "VariableDeclaration",
                    "src": "1733:19:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owners",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[2] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "address[2] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 2983,
                            "name": "ElementaryTypeName",
                            "src": "1758:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 2984,
                            "name": "Literal",
                            "src": "1766:1:13"
                          }
                        ],
                        "id": 2985,
                        "name": "ArrayTypeName",
                        "src": "1758:10:13"
                      }
                    ],
                    "id": 2986,
                    "name": "VariableDeclaration",
                    "src": "1758:18:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_marketMakers",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 2987,
                            "name": "ElementaryTypeName",
                            "src": "1782:7:13"
                          }
                        ],
                        "id": 2988,
                        "name": "ArrayTypeName",
                        "src": "1782:9:13"
                      }
                    ],
                    "id": 2989,
                    "name": "VariableDeclaration",
                    "src": "1782:23:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_secondOwnerAllocation",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 2990,
                        "name": "ElementaryTypeName",
                        "src": "1811:7:13"
                      }
                    ],
                    "id": 2991,
                    "name": "VariableDeclaration",
                    "src": "1811:30:13"
                  }
                ],
                "id": 2992,
                "name": "ParameterList",
                "src": "1643:202:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3070,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2995,
                        "name": "ElementaryTypeName",
                        "src": "1877:4:13"
                      }
                    ],
                    "id": 2996,
                    "name": "VariableDeclaration",
                    "src": "1877:4:13"
                  }
                ],
                "id": 2997,
                "name": "ParameterList",
                "src": "1876:6:13"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 2091,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 2993,
                    "name": "Identifier",
                    "src": "1856:9:13"
                  }
                ],
                "id": 2994,
                "name": "ModifierInvocation",
                "src": "1856:11:13"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 2998,
                            "name": "Identifier",
                            "src": "1889:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_enum$_Status_$2152",
                                "typeString": "enum PoD.Status"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2154,
                                  "type": "enum PoD.Status",
                                  "value": "status"
                                },
                                "id": 2999,
                                "name": "Identifier",
                                "src": "1897:6:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "member_name": "PoDDeployed",
                                  "referencedDeclaration": null,
                                  "type": "enum PoD.Status"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2152,
                                      "type": "type(enum PoD.Status)",
                                      "value": "Status"
                                    },
                                    "id": 3000,
                                    "name": "Identifier",
                                    "src": "1907:6:13"
                                  }
                                ],
                                "id": 3001,
                                "name": "MemberAccess",
                                "src": "1907:18:13"
                              }
                            ],
                            "id": 3002,
                            "name": "BinaryOperation",
                            "src": "1897:28:13"
                          }
                        ],
                        "id": 3003,
                        "name": "FunctionCall",
                        "src": "1889:37:13"
                      }
                    ],
                    "id": 3004,
                    "name": "ExpressionStatement",
                    "src": "1889:37:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3005,
                            "name": "Identifier",
                            "src": "1933:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2978,
                                  "type": "uint256",
                                  "value": "_startTime"
                                },
                                "id": 3006,
                                "name": "Identifier",
                                "src": "1941:10:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "timestamp",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3759,
                                      "type": "block",
                                      "value": "block"
                                    },
                                    "id": 3007,
                                    "name": "Identifier",
                                    "src": "1955:5:13"
                                  }
                                ],
                                "id": 3008,
                                "name": "MemberAccess",
                                "src": "1955:15:13"
                              }
                            ],
                            "id": 3009,
                            "name": "BinaryOperation",
                            "src": "1941:29:13"
                          }
                        ],
                        "id": 3010,
                        "name": "FunctionCall",
                        "src": "1933:38:13"
                      }
                    ],
                    "id": 3011,
                    "name": "ExpressionStatement",
                    "src": "1933:38:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2134,
                              "type": "uint256",
                              "value": "startTime"
                            },
                            "id": 3012,
                            "name": "Identifier",
                            "src": "1981:9:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2978,
                              "type": "uint256",
                              "value": "_startTime"
                            },
                            "id": 3013,
                            "name": "Identifier",
                            "src": "1993:10:13"
                          }
                        ],
                        "id": 3014,
                        "name": "Assignment",
                        "src": "1981:22:13"
                      }
                    ],
                    "id": 3015,
                    "name": "ExpressionStatement",
                    "src": "1981:22:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address[] storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2958,
                              "type": "address[] storage ref",
                              "value": "marketMakers"
                            },
                            "id": 3016,
                            "name": "Identifier",
                            "src": "2012:12:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2989,
                              "type": "address[] memory",
                              "value": "_marketMakers"
                            },
                            "id": 3017,
                            "name": "Identifier",
                            "src": "2027:13:13"
                          }
                        ],
                        "id": 3018,
                        "name": "Assignment",
                        "src": "2012:28:13"
                      }
                    ],
                    "id": 3019,
                    "name": "ExpressionStatement",
                    "src": "2012:28:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2960,
                              "type": "uint256",
                              "value": "tokenMultiplier"
                            },
                            "id": 3020,
                            "name": "Identifier",
                            "src": "2047:15:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "**",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "3130",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 10",
                                  "value": "10"
                                },
                                "id": 3021,
                                "name": "Literal",
                                "src": "2065:2:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "uint256",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint8",
                                          "typeString": "uint8"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(uint256)",
                                      "value": "uint256"
                                    },
                                    "id": 3022,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "2071:7:13"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2976,
                                      "type": "uint8",
                                      "value": "_tokenDecimals"
                                    },
                                    "id": 3023,
                                    "name": "Identifier",
                                    "src": "2079:14:13"
                                  }
                                ],
                                "id": 3024,
                                "name": "FunctionCall",
                                "src": "2071:23:13"
                              }
                            ],
                            "id": 3025,
                            "name": "BinaryOperation",
                            "src": "2065:29:13"
                          }
                        ],
                        "id": 3026,
                        "name": "Assignment",
                        "src": "2047:47:13"
                      }
                    ],
                    "id": 3027,
                    "name": "ExpressionStatement",
                    "src": "2047:47:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2142,
                              "type": "uint256",
                              "value": "proofOfDonationCapOfToken"
                            },
                            "id": 3028,
                            "name": "Identifier",
                            "src": "2101:25:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2980,
                              "type": "uint256",
                              "value": "_allocationOfTokens"
                            },
                            "id": 3029,
                            "name": "Identifier",
                            "src": "2129:19:13"
                          }
                        ],
                        "id": 3030,
                        "name": "Assignment",
                        "src": "2101:47:13"
                      }
                    ],
                    "id": 3031,
                    "name": "ExpressionStatement",
                    "src": "2101:47:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2144,
                              "type": "uint256",
                              "value": "proofOfDonationCapOfWei"
                            },
                            "id": 3032,
                            "name": "Identifier",
                            "src": "2154:23:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2982,
                              "type": "uint256",
                              "value": "_priceInWei"
                            },
                            "id": 3033,
                            "name": "Identifier",
                            "src": "2180:11:13"
                          }
                        ],
                        "id": 3034,
                        "name": "Assignment",
                        "src": "2154:37:13"
                      }
                    ],
                    "id": 3035,
                    "name": "ExpressionStatement",
                    "src": "2154:37:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2138,
                              "type": "uint256",
                              "value": "tokenPrice"
                            },
                            "id": 3036,
                            "name": "Identifier",
                            "src": "2198:10:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "/",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "*",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2960,
                                      "type": "uint256",
                                      "value": "tokenMultiplier"
                                    },
                                    "id": 3037,
                                    "name": "Identifier",
                                    "src": "2211:15:13"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2144,
                                      "type": "uint256",
                                      "value": "proofOfDonationCapOfWei"
                                    },
                                    "id": 3038,
                                    "name": "Identifier",
                                    "src": "2229:23:13"
                                  }
                                ],
                                "id": 3039,
                                "name": "BinaryOperation",
                                "src": "2211:41:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2142,
                                  "type": "uint256",
                                  "value": "proofOfDonationCapOfToken"
                                },
                                "id": 3040,
                                "name": "Identifier",
                                "src": "2255:25:13"
                              }
                            ],
                            "id": 3041,
                            "name": "BinaryOperation",
                            "src": "2211:69:13"
                          }
                        ],
                        "id": 3042,
                        "name": "Assignment",
                        "src": "2198:82:13"
                      }
                    ],
                    "id": 3043,
                    "name": "ExpressionStatement",
                    "src": "2198:82:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2955,
                              "type": "address",
                              "value": "initialDepositFunder"
                            },
                            "id": 3044,
                            "name": "Identifier",
                            "src": "2287:20:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2986,
                                  "type": "address[2] memory",
                                  "value": "_owners"
                                },
                                "id": 3045,
                                "name": "Identifier",
                                "src": "2310:7:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 3046,
                                "name": "Literal",
                                "src": "2318:1:13"
                              }
                            ],
                            "id": 3047,
                            "name": "IndexAccess",
                            "src": "2310:10:13"
                          }
                        ],
                        "id": 3048,
                        "name": "Assignment",
                        "src": "2287:33:13"
                      }
                    ],
                    "id": 3049,
                    "name": "ExpressionStatement",
                    "src": "2287:33:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2148,
                                  "type": "mapping(address => uint256)",
                                  "value": "weiBalances"
                                },
                                "id": 3050,
                                "name": "Identifier",
                                "src": "2326:11:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2986,
                                      "type": "address[2] memory",
                                      "value": "_owners"
                                    },
                                    "id": 3051,
                                    "name": "Identifier",
                                    "src": "2338:7:13"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 3052,
                                    "name": "Literal",
                                    "src": "2346:1:13"
                                  }
                                ],
                                "id": 3053,
                                "name": "IndexAccess",
                                "src": "2338:10:13"
                              }
                            ],
                            "id": 3054,
                            "name": "IndexAccess",
                            "src": "2326:23:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 3055,
                            "name": "Literal",
                            "src": "2352:1:13"
                          }
                        ],
                        "id": 3056,
                        "name": "Assignment",
                        "src": "2326:27:13"
                      }
                    ],
                    "id": 3057,
                    "name": "ExpressionStatement",
                    "src": "2326:27:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2962,
                              "type": "uint256",
                              "value": "secondOwnerAllocation"
                            },
                            "id": 3058,
                            "name": "Identifier",
                            "src": "2403:21:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2991,
                              "type": "uint256",
                              "value": "_secondOwnerAllocation"
                            },
                            "id": 3059,
                            "name": "Identifier",
                            "src": "2427:22:13"
                          }
                        ],
                        "id": 3060,
                        "name": "Assignment",
                        "src": "2403:46:13"
                      }
                    ],
                    "id": 3061,
                    "name": "ExpressionStatement",
                    "src": "2403:46:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "enum PoD.Status"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2154,
                              "type": "enum PoD.Status",
                              "value": "status"
                            },
                            "id": 3062,
                            "name": "Identifier",
                            "src": "2456:6:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "member_name": "PoDStarted",
                              "referencedDeclaration": null,
                              "type": "enum PoD.Status"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2152,
                                  "type": "type(enum PoD.Status)",
                                  "value": "Status"
                                },
                                "id": 3063,
                                "name": "Identifier",
                                "src": "2465:6:13"
                              }
                            ],
                            "id": 3064,
                            "name": "MemberAccess",
                            "src": "2465:17:13"
                          }
                        ],
                        "id": 3065,
                        "name": "Assignment",
                        "src": "2456:26:13"
                      }
                    ],
                    "id": 3066,
                    "name": "ExpressionStatement",
                    "src": "2456:26:13"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 2997
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3067,
                        "name": "Literal",
                        "src": "2500:4:13"
                      }
                    ],
                    "id": 3068,
                    "name": "Return",
                    "src": "2493:11:13"
                  }
                ],
                "id": 3069,
                "name": "Block",
                "src": "1883:626:13"
              }
            ],
            "id": 3070,
            "name": "FunctionDefinition",
            "src": "1630:879:13"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "processDonate",
              "payable": false,
              "scope": 3215,
              "stateMutability": "nonpayable",
              "superFunction": 2374,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3071,
                        "name": "ElementaryTypeName",
                        "src": "2536:7:13"
                      }
                    ],
                    "id": 3072,
                    "name": "VariableDeclaration",
                    "src": "2536:13:13"
                  }
                ],
                "id": 3073,
                "name": "ParameterList",
                "src": "2535:15:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3074,
                        "name": "ElementaryTypeName",
                        "src": "2569:4:13"
                      }
                    ],
                    "id": 3075,
                    "name": "VariableDeclaration",
                    "src": "2569:4:13"
                  }
                ],
                "id": 3076,
                "name": "ParameterList",
                "src": "2568:6:13"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3077,
                            "name": "Identifier",
                            "src": "2581:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3072,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3078,
                                "name": "Identifier",
                                "src": "2589:5:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2955,
                                  "type": "address",
                                  "value": "initialDepositFunder"
                                },
                                "id": 3079,
                                "name": "Identifier",
                                "src": "2598:20:13"
                              }
                            ],
                            "id": 3080,
                            "name": "BinaryOperation",
                            "src": "2589:29:13"
                          }
                        ],
                        "id": 3081,
                        "name": "FunctionCall",
                        "src": "2581:38:13"
                      }
                    ],
                    "id": 3082,
                    "name": "ExpressionStatement",
                    "src": "2581:38:13"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        3084
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "remains",
                          "scope": 3119,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 3083,
                            "name": "ElementaryTypeName",
                            "src": "2630:7:13"
                          }
                        ],
                        "id": 3084,
                        "name": "VariableDeclaration",
                        "src": "2630:15:13"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sub",
                              "referencedDeclaration": 3730,
                              "type": "function (uint256,uint256) pure returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2144,
                                  "type": "uint256",
                                  "value": "proofOfDonationCapOfWei"
                                },
                                "id": 3085,
                                "name": "Identifier",
                                "src": "2648:23:13"
                              }
                            ],
                            "id": 3086,
                            "name": "MemberAccess",
                            "src": "2648:27:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2140,
                              "type": "uint256",
                              "value": "totalReceivedWei"
                            },
                            "id": 3087,
                            "name": "Identifier",
                            "src": "2676:16:13"
                          }
                        ],
                        "id": 3088,
                        "name": "FunctionCall",
                        "src": "2648:45:13"
                      }
                    ],
                    "id": 3089,
                    "name": "VariableDeclarationStatement",
                    "src": "2630:63:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3090,
                            "name": "Identifier",
                            "src": "2700:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "<=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "value",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3767,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 3091,
                                    "name": "Identifier",
                                    "src": "2708:3:13"
                                  }
                                ],
                                "id": 3092,
                                "name": "MemberAccess",
                                "src": "2708:9:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3084,
                                  "type": "uint256",
                                  "value": "remains"
                                },
                                "id": 3093,
                                "name": "Identifier",
                                "src": "2721:7:13"
                              }
                            ],
                            "id": 3094,
                            "name": "BinaryOperation",
                            "src": "2708:20:13"
                          }
                        ],
                        "id": 3095,
                        "name": "FunctionCall",
                        "src": "2700:29:13"
                      }
                    ],
                    "id": 3096,
                    "name": "ExpressionStatement",
                    "src": "2700:29:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2148,
                                  "type": "mapping(address => uint256)",
                                  "value": "weiBalances"
                                },
                                "id": 3097,
                                "name": "Identifier",
                                "src": "2740:11:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3072,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3098,
                                "name": "Identifier",
                                "src": "2752:5:13"
                              }
                            ],
                            "id": 3099,
                            "name": "IndexAccess",
                            "src": "2740:18:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "add",
                                  "referencedDeclaration": 3754,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2148,
                                          "type": "mapping(address => uint256)",
                                          "value": "weiBalances"
                                        },
                                        "id": 3100,
                                        "name": "Identifier",
                                        "src": "2761:11:13"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3072,
                                          "type": "address",
                                          "value": "_user"
                                        },
                                        "id": 3101,
                                        "name": "Identifier",
                                        "src": "2773:5:13"
                                      }
                                    ],
                                    "id": 3102,
                                    "name": "IndexAccess",
                                    "src": "2761:18:13"
                                  }
                                ],
                                "id": 3103,
                                "name": "MemberAccess",
                                "src": "2761:22:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "value",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3767,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 3104,
                                    "name": "Identifier",
                                    "src": "2784:3:13"
                                  }
                                ],
                                "id": 3105,
                                "name": "MemberAccess",
                                "src": "2784:9:13"
                              }
                            ],
                            "id": 3106,
                            "name": "FunctionCall",
                            "src": "2761:33:13"
                          }
                        ],
                        "id": 3107,
                        "name": "Assignment",
                        "src": "2740:54:13"
                      }
                    ],
                    "id": 3108,
                    "name": "ExpressionStatement",
                    "src": "2740:54:13"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "value",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3767,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 3109,
                                "name": "Identifier",
                                "src": "2874:3:13"
                              }
                            ],
                            "id": 3110,
                            "name": "MemberAccess",
                            "src": "2874:9:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3084,
                              "type": "uint256",
                              "value": "remains"
                            },
                            "id": 3111,
                            "name": "Identifier",
                            "src": "2887:7:13"
                          }
                        ],
                        "id": 3112,
                        "name": "BinaryOperation",
                        "src": "2874:20:13"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 3076
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 3113,
                            "name": "Literal",
                            "src": "2909:5:13"
                          }
                        ],
                        "id": 3114,
                        "name": "Return",
                        "src": "2902:12:13"
                      }
                    ],
                    "id": 3115,
                    "name": "IfStatement",
                    "src": "2870:44:13"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3076
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3116,
                        "name": "Literal",
                        "src": "2932:4:13"
                      }
                    ],
                    "id": 3117,
                    "name": "Return",
                    "src": "2925:11:13"
                  }
                ],
                "id": 3118,
                "name": "Block",
                "src": "2575:366:13"
              }
            ],
            "id": 3119,
            "name": "FunctionDefinition",
            "src": "2513:428:13"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "distributeWei",
              "payable": false,
              "scope": 3215,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_index",
                      "scope": 3152,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 3120,
                        "name": "ElementaryTypeName",
                        "src": "2968:4:13"
                      }
                    ],
                    "id": 3121,
                    "name": "VariableDeclaration",
                    "src": "2968:11:13"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_amount",
                      "scope": 3152,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 3122,
                        "name": "ElementaryTypeName",
                        "src": "2981:7:13"
                      }
                    ],
                    "id": 3123,
                    "name": "VariableDeclaration",
                    "src": "2981:15:13"
                  }
                ],
                "id": 3124,
                "name": "ParameterList",
                "src": "2967:30:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3152,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3125,
                        "name": "ElementaryTypeName",
                        "src": "3014:4:13"
                      }
                    ],
                    "id": 3126,
                    "name": "VariableDeclaration",
                    "src": "3014:4:13"
                  }
                ],
                "id": 3127,
                "name": "ParameterList",
                "src": "3013:6:13"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3128,
                            "name": "Identifier",
                            "src": "3026:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3767,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 3129,
                                    "name": "Identifier",
                                    "src": "3034:3:13"
                                  }
                                ],
                                "id": 3130,
                                "name": "MemberAccess",
                                "src": "3034:10:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2955,
                                  "type": "address",
                                  "value": "initialDepositFunder"
                                },
                                "id": 3131,
                                "name": "Identifier",
                                "src": "3048:20:13"
                              }
                            ],
                            "id": 3132,
                            "name": "BinaryOperation",
                            "src": "3034:34:13"
                          }
                        ],
                        "id": 3133,
                        "name": "FunctionCall",
                        "src": "3026:43:13"
                      }
                    ],
                    "id": 3134,
                    "name": "ExpressionStatement",
                    "src": "3026:43:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3135,
                            "name": "Identifier",
                            "src": "3076:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "<=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3123,
                                  "type": "uint256",
                                  "value": "_amount"
                                },
                                "id": 3136,
                                "name": "Identifier",
                                "src": "3084:7:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "balance",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3796,
                                      "type": "contract RICOStandardPoD",
                                      "value": "this"
                                    },
                                    "id": 3137,
                                    "name": "Identifier",
                                    "src": "3095:4:13"
                                  }
                                ],
                                "id": 3138,
                                "name": "MemberAccess",
                                "src": "3095:12:13"
                              }
                            ],
                            "id": 3139,
                            "name": "BinaryOperation",
                            "src": "3084:23:13"
                          }
                        ],
                        "id": 3140,
                        "name": "FunctionCall",
                        "src": "3076:32:13"
                      }
                    ],
                    "id": 3141,
                    "name": "ExpressionStatement",
                    "src": "3076:32:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transfer",
                              "referencedDeclaration": null,
                              "type": "function (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2958,
                                      "type": "address[] storage ref",
                                      "value": "marketMakers"
                                    },
                                    "id": 3142,
                                    "name": "Identifier",
                                    "src": "3115:12:13"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3121,
                                      "type": "uint256",
                                      "value": "_index"
                                    },
                                    "id": 3143,
                                    "name": "Identifier",
                                    "src": "3128:6:13"
                                  }
                                ],
                                "id": 3144,
                                "name": "IndexAccess",
                                "src": "3115:20:13"
                              }
                            ],
                            "id": 3145,
                            "name": "MemberAccess",
                            "src": "3115:29:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3123,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 3146,
                            "name": "Identifier",
                            "src": "3145:7:13"
                          }
                        ],
                        "id": 3147,
                        "name": "FunctionCall",
                        "src": "3115:38:13"
                      }
                    ],
                    "id": 3148,
                    "name": "ExpressionStatement",
                    "src": "3115:38:13"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3127
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3149,
                        "name": "Literal",
                        "src": "3167:4:13"
                      }
                    ],
                    "id": 3150,
                    "name": "Return",
                    "src": "3160:11:13"
                  }
                ],
                "id": 3151,
                "name": "Block",
                "src": "3020:156:13"
              }
            ],
            "id": 3152,
            "name": "FunctionDefinition",
            "src": "2945:231:13"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getBalanceOfToken",
              "payable": false,
              "scope": 3215,
              "stateMutability": "view",
              "superFunction": 2381,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3189,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3153,
                        "name": "ElementaryTypeName",
                        "src": "3207:7:13"
                      }
                    ],
                    "id": 3154,
                    "name": "VariableDeclaration",
                    "src": "3207:13:13"
                  }
                ],
                "id": 3155,
                "name": "ParameterList",
                "src": "3206:15:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3189,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 3156,
                        "name": "ElementaryTypeName",
                        "src": "3247:7:13"
                      }
                    ],
                    "id": 3157,
                    "name": "VariableDeclaration",
                    "src": "3247:7:13"
                  }
                ],
                "id": 3158,
                "name": "ParameterList",
                "src": "3246:9:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "timestamp",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3759,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 3159,
                                "name": "Identifier",
                                "src": "3266:5:13"
                              }
                            ],
                            "id": 3160,
                            "name": "MemberAccess",
                            "src": "3266:15:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_15552000_by_1",
                                      "typeString": "int_const 15552000"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "add",
                                  "referencedDeclaration": 3754,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2134,
                                      "type": "uint256",
                                      "value": "startTime"
                                    },
                                    "id": 3161,
                                    "name": "Identifier",
                                    "src": "3284:9:13"
                                  }
                                ],
                                "id": 3162,
                                "name": "MemberAccess",
                                "src": "3284:13:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "313830",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": "days",
                                  "token": "number",
                                  "type": "int_const 15552000",
                                  "value": "180"
                                },
                                "id": 3163,
                                "name": "Literal",
                                "src": "3298:8:13"
                              }
                            ],
                            "id": 3164,
                            "name": "FunctionCall",
                            "src": "3284:23:13"
                          }
                        ],
                        "id": 3165,
                        "name": "BinaryOperation",
                        "src": "3266:41:13"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 3158
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 3166,
                            "name": "Literal",
                            "src": "3322:1:13"
                          }
                        ],
                        "id": 3167,
                        "name": "Return",
                        "src": "3315:8:13"
                      }
                    ],
                    "id": 3168,
                    "name": "IfStatement",
                    "src": "3262:61:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3154,
                              "type": "address",
                              "value": "_user"
                            },
                            "id": 3169,
                            "name": "Identifier",
                            "src": "3334:5:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2955,
                              "type": "address",
                              "value": "initialDepositFunder"
                            },
                            "id": 3170,
                            "name": "Identifier",
                            "src": "3343:20:13"
                          }
                        ],
                        "id": 3171,
                        "name": "BinaryOperation",
                        "src": "3334:29:13"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 3158
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "/",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "*",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2960,
                                          "type": "uint256",
                                          "value": "tokenMultiplier"
                                        },
                                        "id": 3172,
                                        "name": "Identifier",
                                        "src": "3379:15:13"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2148,
                                              "type": "mapping(address => uint256)",
                                              "value": "weiBalances"
                                            },
                                            "id": 3173,
                                            "name": "Identifier",
                                            "src": "3397:11:13"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3154,
                                              "type": "address",
                                              "value": "_user"
                                            },
                                            "id": 3174,
                                            "name": "Identifier",
                                            "src": "3409:5:13"
                                          }
                                        ],
                                        "id": 3175,
                                        "name": "IndexAccess",
                                        "src": "3397:18:13"
                                      }
                                    ],
                                    "id": 3176,
                                    "name": "BinaryOperation",
                                    "src": "3379:36:13"
                                  }
                                ],
                                "id": 3177,
                                "name": "TupleExpression",
                                "src": "3378:38:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2138,
                                  "type": "uint256",
                                  "value": "tokenPrice"
                                },
                                "id": 3178,
                                "name": "Identifier",
                                "src": "3419:10:13"
                              }
                            ],
                            "id": 3179,
                            "name": "BinaryOperation",
                            "src": "3378:51:13"
                          }
                        ],
                        "id": 3180,
                        "name": "Return",
                        "src": "3371:58:13"
                      },
                      {
                        "attributes": {
                          "functionReturnParameters": 3158
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "*",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2962,
                                  "type": "uint256",
                                  "value": "secondOwnerAllocation"
                                },
                                "id": 3181,
                                "name": "Identifier",
                                "src": "3454:21:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2148,
                                      "type": "mapping(address => uint256)",
                                      "value": "weiBalances"
                                    },
                                    "id": 3182,
                                    "name": "Identifier",
                                    "src": "3478:11:13"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3154,
                                      "type": "address",
                                      "value": "_user"
                                    },
                                    "id": 3183,
                                    "name": "Identifier",
                                    "src": "3490:5:13"
                                  }
                                ],
                                "id": 3184,
                                "name": "IndexAccess",
                                "src": "3478:18:13"
                              }
                            ],
                            "id": 3185,
                            "name": "BinaryOperation",
                            "src": "3454:42:13"
                          }
                        ],
                        "id": 3186,
                        "name": "Return",
                        "src": "3447:49:13"
                      }
                    ],
                    "id": 3187,
                    "name": "IfStatement",
                    "src": "3330:166:13"
                  }
                ],
                "id": 3188,
                "name": "Block",
                "src": "3256:245:13"
              }
            ],
            "id": 3189,
            "name": "FunctionDefinition",
            "src": "3180:321:13"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "resetWeiBalance",
              "payable": false,
              "scope": 3215,
              "stateMutability": "nonpayable",
              "superFunction": 2278,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_user",
                      "scope": 3214,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 3190,
                        "name": "ElementaryTypeName",
                        "src": "3530:7:13"
                      }
                    ],
                    "id": 3191,
                    "name": "VariableDeclaration",
                    "src": "3530:13:13"
                  }
                ],
                "id": 3192,
                "name": "ParameterList",
                "src": "3529:15:13"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 3214,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3195,
                        "name": "ElementaryTypeName",
                        "src": "3573:4:13"
                      }
                    ],
                    "id": 3196,
                    "name": "VariableDeclaration",
                    "src": "3573:4:13"
                  }
                ],
                "id": 3197,
                "name": "ParameterList",
                "src": "3572:6:13"
              },
              {
                "attributes": {
                  "arguments": [
                    null
                  ]
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 2091,
                      "type": "modifier ()",
                      "value": "onlyOwner"
                    },
                    "id": 3193,
                    "name": "Identifier",
                    "src": "3552:9:13"
                  }
                ],
                "id": 3194,
                "name": "ModifierInvocation",
                "src": "3552:11:13"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 3198,
                            "name": "Identifier",
                            "src": "3585:7:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_enum$_Status_$2152",
                                "typeString": "enum PoD.Status"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2154,
                                  "type": "enum PoD.Status",
                                  "value": "status"
                                },
                                "id": 3199,
                                "name": "Identifier",
                                "src": "3593:6:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "member_name": "PoDEnded",
                                  "referencedDeclaration": null,
                                  "type": "enum PoD.Status"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2152,
                                      "type": "type(enum PoD.Status)",
                                      "value": "Status"
                                    },
                                    "id": 3200,
                                    "name": "Identifier",
                                    "src": "3603:6:13"
                                  }
                                ],
                                "id": 3201,
                                "name": "MemberAccess",
                                "src": "3603:15:13"
                              }
                            ],
                            "id": 3202,
                            "name": "BinaryOperation",
                            "src": "3593:25:13"
                          }
                        ],
                        "id": 3203,
                        "name": "FunctionCall",
                        "src": "3585:34:13"
                      }
                    ],
                    "id": 3204,
                    "name": "ExpressionStatement",
                    "src": "3585:34:13"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2148,
                                  "type": "mapping(address => uint256)",
                                  "value": "weiBalances"
                                },
                                "id": 3205,
                                "name": "Identifier",
                                "src": "3626:11:13"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3191,
                                  "type": "address",
                                  "value": "_user"
                                },
                                "id": 3206,
                                "name": "Identifier",
                                "src": "3638:5:13"
                              }
                            ],
                            "id": 3207,
                            "name": "IndexAccess",
                            "src": "3626:18:13"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 3208,
                            "name": "Literal",
                            "src": "3647:1:13"
                          }
                        ],
                        "id": 3209,
                        "name": "Assignment",
                        "src": "3626:22:13"
                      }
                    ],
                    "id": 3210,
                    "name": "ExpressionStatement",
                    "src": "3626:22:13"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 3197
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 3211,
                        "name": "Literal",
                        "src": "3662:4:13"
                      }
                    ],
                    "id": 3212,
                    "name": "Return",
                    "src": "3655:11:13"
                  }
                ],
                "id": 3213,
                "name": "Block",
                "src": "3579:92:13"
              }
            ],
            "id": 3214,
            "name": "FunctionDefinition",
            "src": "3505:166:13"
          }
        ],
        "id": 3215,
        "name": "ContractDefinition",
        "src": "518:3155:13"
      }
    ],
    "id": 3216,
    "name": "SourceUnit",
    "src": "0:3674:13"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:52.561Z"
}